我有一个使用c的自定义组件:if确定要使用的ajax:
<composite:interface>
<composite:attribute name="value" required="true" />
<composite:attribute name="renderOnChange" type="java.lang.String"/>
</composite:interface>
<composite:implementation>
<h:inputText value="#{cc.attrs.value}">
<c:if test="#{not empty cc.attrs.renderOnChange}">
<a4j:ajax event="change" render="#{cc.attrs.renderOnChange}" />
</c:if>
<c:if test="#{empty cc.attrs.renderOnChange}">
<a4j:ajax event="change" render="#{somethingDifferent}" />
</c:if>
</h:inputText>
</composite:implementation>
当我尝试在数据表中使用该组件时会出现问题,因为c:ifs不起作用。是否有可用于显示a4j:ajax的JSF等效项,具体取决于属性?我已经尝试过ui:fragment和许多其他的ui标签来尝试实现这一点,但它们都不能在输入组件中工作。
我还想使用相同的方法来显示f:validators。
答案 0 :(得分:0)
可能的方法是创建两个<h:inputText>
组件,然后您可以使用rendered
属性并在那里放置<c:if>
标记中的条件。