JSF使用隐藏组件生成动态ID

时间:2018-02-02 11:21:50

标签: jsf

我在动态页面中添加隐藏组件以进行验证。

<ui:fragment rendered="#{ifTrue eq 'true' ? true : false}">
        <br />
        <h:inputHidden id="staticComponentId" required="true" value="#{validation}"
                validatorMessage="Increase the value"> 
             <f:validateLongRange minimum="1" />
        </h:inputHidden>
        <h:message for="staticComponentId" errorClass="errors" />
    </ui:fragment>

现在,当这个iteam多次添加时,它会发现重复的id,因为这个验证与它自己的隐藏组件绑定。

是否有任何方法可以生成基于视图的ID以供参考,以便在包含多个项目时它可以正常工作。

1 个答案:

答案 0 :(得分:-2)

如果要多次使用它,则应将片段转换为复合组件。一个 复合组件是一个命名容器,表示复合内部的所有组件 component将复合组件的id作为前缀。所以,使用它没有问题 多次。

非主题:

rendered="#{ifTrue eq 'true' ? true : false}"

可以写成

rendered="#{ifTrue}"