将字符串与JSTL进行比较

时间:2010-02-12 20:13:00

标签: java jsf jstl

我需要比较两个字符串,但即使它们具有相同的值或不同,总是进入语句......

<c:when test="#{bean.name1 != bean.name2}">
     fields that are supposed to appear _only_ when name1 is different from name2
</c:when>

6 个答案:

答案 0 :(得分:7)

问题是您可能没有在选择标记中包装when。

如果你有:

    <c:choose>
    <c:when test="${bean.name1 != bean.name2}">
        fields that are supposed to appear _only_ when name1 is different from name2
    </c:when>
</c:choose>

它会起作用

答案 1 :(得分:4)

应该吗?

<c:if test="#{bean.name1 != bean.name2}">
     // code
</c:if>

编辑:<c:when>应该在<c:choose>内。不能问为什么,那只是语法。这就像在C / C ++ / Java中询问为什么if不能代替switch。它们只是不同的动物。

答案 2 :(得分:0)

如果你这样做会有什么不同:

<c:when test="${bean.name1 != bean.name2}">
     fields that are supposed to appear _only_ when name1 is different from name2
</c:when>

答案 3 :(得分:0)

我在使用c时注意到了一些瑕疵:if或c:选择和c:当在一些jsf迭代组件中时,例如rich:datatable。什么是完整的背景?

作为一种解决方法,我通常需要将内容包装在a4j:outputPanel中并相应地设置呈现的属性。

答案 4 :(得分:-1)

试试这个......

<c:if test="${bean.name1 ne bean.name2}">
     fields that are supposed to appear _only_ when name1 is different from name2
</c:if>

ne =不等于

另外

#应该是$

答案 5 :(得分:-1)

应该是               当name1与name2不同时,应该只显示 的字段