如何用EL表达式语言比较两个对象变量?

如何用EL表达式语言比较两个对象变量?,第1张

如何用EL表达式语言比较两个对象变量?

在表达式语言中,您可以仅使用

==
eq
运算符比较对象值。他们实际上将在幕后使用
Object#equals()
。这样做是因为,直到使用当前的EL
2.1版本,您才能调用具有除标准getter(和setter)方法以外的其他签名的方法(在即将到来的EL 2.2中是可能的)。

所以特别的线

<c:when test="${lang}.equals(${pageLang})">

应该写成(请注意,整个表达式位于

{
和内
}

<c:when test="${lang == pageLang}">

或者,等效地

<c:when test="${lang eq pageLang}">

两者都在幕后,大致解释为

jspContext.findAttribute("lang").equals(jspContext.findAttribute("pageLang"))

如果要比较常

String
量值,则需要引用它

<c:when test="${lang == 'en'}">

或者,等效地

<c:when test="${lang eq 'en'}">

这是幕后的大致解释为

jspContext.findAttribute("lang").equals("en")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4959509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存