Jsf EL在c中的表达式:choose,can';我不能让它工作
我正在尝试这样的东西(JSF2):Jsf EL在c中的表达式:choose,can';我不能让它工作,jsf,jstl,el,Jsf,Jstl,El,我正在尝试这样的东西(JSF2): <p>#{projectPageBean.availableMethods}</p> <c:choose> <c:when test="${projectPageBean.availableMethods == true}"> <p>Abc</p> </c:when> <c:otherwise> <p>Xyz</p>
<p>#{projectPageBean.availableMethods}</p>
<c:choose>
<c:when test="${projectPageBean.availableMethods == true}">
<p>Abc</p>
</c:when>
<c:otherwise>
<p>Xyz</p>
</c:otherwise>
</c:choose>
但还是一样的问题 首先:
您的具体问题表明{projectPageBean}
是在视图渲染时设置的,例如定义为
、
、
等时会发生这种情况。因此,在视图构建时它是null
在这种情况下,您不应该使用视图构建时标记来有条件地呈现HTML。您应该改为使用视图呈现时间组件有条件地呈现HTML。作为首选,请使用
:
{projectPageBean.availableMethods}
Abc
Xyz
顺便说一下,Facelets中不需要在{}
和${}
之间切换。与JSP相反,在Facelets中,${}
的行为与#{}
完全相同。为了避免潜在的混乱和维护问题,我建议始终坚持使用{}
另见:
。很抱歉,我的回答有些延迟!谢谢你的解释和建议。现在可以了!
${projectPageBean.availableMethods}
<p>#{projectPageBean.availableMethods}</p>
<ui:fragment rendered="#{projectPageBean.availableMethods}">
<p>Abc</p>
</ui:fragment>
<ui:fragment rendered="#{not projectPageBean.availableMethods}">
<p>Xyz</p>
</ui:fragment>