我正在使用JSF 1.1和Tomahawk以及Tomcat 6.0
<c:if test="${vo.type=1}">
<t:commandLink action="#{Manager.openPatient}">
<c:out value="${vo.patientId}"></c:out>
<t:outputText value="#{vo.patientId}" />
<f:param value="#{vo.id}" name="patientId"/>
</t:commandLink>
</c:if>
我正在尝试根据类型添加条件。
如果vo.type = 1
确实致电患者。
如果vo.type = 2
确实拨打了帐户,等等。
似乎<c:if>
标记无效。任何解决这个问题的想法或指示都会受到赞赏。
答案 0 :(得分:3)
与普通Java一样,您需要与==
进行比较,而不是与=
进行比较。
<c:if test="${vo.type == 1}">
与具体问题无关,如果使用纯JSF可以实现相同的功能,那么您应该更喜欢使用JSTL。在这种特殊情况下,您可以使用每个JSF HTML组件都支持的rendered
属性。摆脱<c:if>
(和多余的<c:out>
)并更改<t:commandLink>
,如下所示:
<t:commandLink action="#{Manager.openPatient}" rendered="#{vo.type == 1}">
<t:outputText value="#{vo.patientId}" />
<f:param value="#{vo.id}" name="patientId"/>
</t:commandLink>