JSF InputText条件属性渲染

时间:2018-04-10 17:18:40

标签: jsf jsf-2.2

我有一个复合组件(CC),它呈现一个inputText。我有一个名为" autoFocus"在CC中,只有当值为true时才应在inputText中呈现,请参阅代码:

    <composite:attribute name="myAutoFocus" default="false" type="java.lang.Boolean"/>

所以,在复合内部:实现我有以下内容:

<h:inputText pt:autofocus="#{cc.attrs.myAutoFocus}" />

这样我的autoFocus总是启用,因为&#34; autofocus = false&#34;和&#34; autofocus = true&#34;都是真的。所以我需要一种方法来渲染autoFocus来查找我的CC属性值。

1 个答案:

答案 0 :(得分:2)

我使用c:if通过JSF 2.2中的f:passThroughAttribute有条件地渲染自动对焦属性来解决我的问题:

<h:inputText>
    <c:if test="#{cc.attrs.myAutoFocus}">
        <f:passThroughAttribute name="autofocus" value="autofocus"/>
    </c:if>
</h:inputText>