我有以下内容:
<c:set var="myMode" value="#{component.parent.attributes['xyz-mode']}"/>
其中&#34; xyz-mode&#34;是来自另一个复合组件...... 当我用这个打印它的值时:
<p:outputLabel value="#{myMode}" />
正确打印,假设值为3 但是..在同一页面上,当我使用c:if或c:when ..它没有正确评估值:
<c:choose>
<c:when test="#{myMode == 3}">
<p:outputLabel value="mode is 3" />
</c:when>
<c:otherwise>
<p:outputLabel value="Otherwise" />
</c:otherwise>
</c:choose>
代码打印&#34;否则&#34;仅限案例..而不是&#34;模式是3&#34; 请注意&#34; xyz-mode&#34;的类型从复合组件中检索到的是Integer .. 为什么会发生这种情况.. 现在已经10天了,我找不到答案:(任何人都可以帮忙吗? 赞赏。
答案 0 :(得分:0)
您可以使用rendered
属性检查条件并相应地打印值。
<p:outputLabel value="mode is 3" rendered="#{myMode == 3}" />
<p:outputLabel value="Otherwise" rendered="#{myMode != 3}" />
希望它有所帮助。