使用“logic:equal”和“logic:notEqual”标签有什么区别?

时间:2010-09-02 08:21:47

标签: jsp jsp-tags

例如,我可以使用以下代码:

<logic:equal name="userForm" property="isRishi" value="YES">
  Welcome, your name is Rishi</logic:equal>

还有另外一段代码:

<logic:notEqual name="userForm" property="isRishi" value="NO">
  Welcome, your name is Rishi</logic:notEqual>

两者的功能都相同。那么使用这两个标签有什么区别呢?

3 个答案:

答案 0 :(得分:4)

如果只有两个可能的值,唯一的区别是第二种形式由于双重否定而难以理解。

如果isRishi的值不是“是”和“否”(例如为空),则差异应该是显而易见的。

答案 1 :(得分:0)

它们的存在是为了提高可读性。 notEqual to no令人费解,更难掌握。

而且,出于!运算符存在的原因相同。

答案 2 :(得分:0)

还有其他情况。如果你想在“YES”情况下做一件事而在YES-YES情况下做一件事怎么办?你可以将另一个案例表示为等于NO,但是(a)它可能是null,(b)如果你没有布尔值但是其他东西可能有许多你不感兴趣的值。