这个问题已经在这里有了答案:

我有以下几点:

<c:set var="myMode" value="#{component.parent.attributes['xyz-mode']}"/>

其中“ xyz-mode”来自另一个复合组件...当我使用以下命令打印其值时:

<p:outputLabel value="#{myMode}" /> 

它正确地打印它,假设值是3 But ..在同一页面中,当我使用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>

该代码仅打印“其他”情况。.不是“模式为3”。请注意,从复合组件中检索到的“ xyz-mode”的类型为Integer。为什么会发生这种情况。它已经是10几天以来,我找不到答案了:( ..任何人都可以帮忙吗?

===============>>#1 票数:0

您可以使用rendered属性来检查条件并相应地打印值。

<p:outputLabel value="mode is 3" rendered="#{myMode == 3}" />
<p:outputLabel value="Otherwise" rendered="#{myMode != 3}" />

希望能帮助到你。

  ask by Mazen Khalil translate from so

未解决问题?本站智能推荐: