jsf-2 – c:选择不在JSF中工作
发布时间:2020-12-16 04:53:36 所属栏目:百科 来源:网络整理
导读:我有三个值,我希望在前两个值的情况下渲染一个组件,为第三个值渲染另一个组件 下面,我有我的页面: page.xhtml ui:repeat value=#{bean.value} var="data"c:choose c:when test="#{data.thirdValue == 'content'}" h:outputText value="Wrong value"/ /c:whe
我有三个值,我希望在前两个值的情况下渲染一个组件,为第三个值渲染另一个组件
下面,我有我的页面: page.xhtml <ui:repeat value=#{bean.value} var="data"> <c:choose> <c:when test="#{data.thirdValue == 'content'}"> <h:outputText value="Wrong value"/> </c:when> <c:otherwise> Correct! </c:otherwise> </c:choose> </ui:repeat> 这就是我的页面定义方式.我还添加了以下命名空间:xmlns:c =“http://java.sun.com/jsp/jstl/core. 我测试了测试中的值是否为< c:when>返回“true”或“false”,确实如此. 我的问题是< c:when>永远不会被评估. < c:否则>值始终呈现.我错过了什么吗?是因为条件渲染在< ui:repeat>内了什么时候不评估? 任何帮助将非常感谢.提前致谢 解决方法
你需要删除c:choose,因为正如@Jens在评论中所述,它们是在不同的阶段处理的.您可以将JSTL与JSF结合使用,但必须遵守它们的解决顺序.阅读BalusC的精美答案,他摇滚.
根据您的需要,您可以使用rendered attribute来有条件地输出文本: <ui:repeat value="#{bean.value}" var="data"> <h:outputText rendered="#{data.thirdValue == 'content'}" value="Wrong value"/> <h:outputText rendered="#{data.thirdValue != 'content'}" value="Correct!"/> </ui:repeat> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |