【问题标题】:Why ${flag==Y} returns True and ${flag=='Y'} returns False?为什么 ${flag==Y} 返回 True 而 ${flag=='Y'} 返回 False?
【发布时间】:2019-11-11 23:54:27
【问题描述】:

我对以下行为感到困惑。变量标志从控制器传递到 jsp代码:

flag: <c:out value="${requestScope.flag}"/> 
flag eq 'Y': ${requestScope.flag eq 'Y'}
flag == 'Y': ${requestScope.flag=='Y'}
flag==Y: ${requestScope.flag==Y}

案例1:标志未传递给视图(输出):

flag: 
flag eq 'Y': false 
flag == 'Y': false 
flag==Y: true

案例 2:将值为“Y”的标志传递给视图:

flag: Y
flag eq 'Y': true 
flag == 'Y': true 
flag==Y: false

【问题讨论】:

    标签: java jsp servlets jstl undefined


    【解决方案1】:

    requestScope.flag==Y 表示与未定义的变量Y 进行比较

    因此,当发送标志时,未定义的变量不等于标志并在第二种情况下返回false,

    虽然在第一种情况下两者都是未定义的变量,因此它返回true

    【讨论】:

      【解决方案2】:

      'Y' 是一个值为 'Y' 的字符串,而 Y 是一个变量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多