我有一个复合组件(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属性值。
答案 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>