==
和eq
使用EL做我的字符串对比测试给出相同的结果:
<c:if test="${person.sokande_i == 'endast_usa'}">Endast USA</c:if>
<c:if test="${person.sokande_i == 'alla'}">Alla länder</c:if>
<c:if test="${person.sokande_i == 'alla_utom_usa'}">Alla utom USA</c:if>
我应该使用eq
呢? 是==
仅整数? 但是,它的工作原理也为字符串。 AFAIK ==
测试是否散列码是相等的, eq
是指“有意义不同”。
另一个问题说==
和eq
做同样的事情。
有没有区别就在这里? 是不是差一个,我指出: ==
着眼于将hashCode和eq
着眼于实施equals(...)
他们都是一样的。 我使用eq
在EL,因为它更具有可读性类似的句子。
两者都是相同的。 无论==
和eq
会导致下面的代码:
jspContext.findAttribute("person.sokande_i").equals("endast_usa")
为EL
${person.sokande_i == 'endast_usa'}
根据文件 ,这是同样的事情
除了。 在数值和表达式的方法讨论并[]运营商而言,EL提供以下操作符,它可以在只有右值表达式中使用:
[...]
关系 :==,当量 ,=,NE,<,LT,>,GT,<=,GE,> =,嘞!。 比较可以针对其他值或针对布尔,字符串,整数或浮点文字制成。
一个不同之处,但:字符串运营商如eq, ne, lt, gt, ge, le
存在,因为它们是XML安全,他们不会需要像转义<=
的实例。
它的解释这里
在EL的一个有用功能是执行比较,数字或对象之间的能力。 该功能主要用于自定义标签属性的值,但同样可以用来写出来的比较(true或false)到JSP页面的结果。 的EL提供了以下的比较运算符:
•==或EQ
•!=或NE
•<或LT
•>或GT
•<=或乐
•> =或Ge
每个操作者的所述第二版本的存在是为了避免使用在JSP XML语法实体引用; 但是,经营者的行为是相同的。