我对以下行为感到困惑。变量标志从控制器传递到 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
答案 0 :(得分:5)
requestScope.flag==Y
表示与未定义的变量Y
比较
因此,发送标志时,未定义变量不等于标志,在第二种情况下返回false
在第一种情况下,它们都是未定义的变量,因此它返回true
答案 1 :(得分:1)
'Y'
是一个值为'Y'
的字符串,而Y
是一个变量。