在表达式语言中,您可以仅使用
==或
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")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)