在JSF 2.0中如何在
中添加唯一的id<p:panelGrid>
<p:inputText id="unq1" value="{...}" />
<unique id for all components below>
...
...
</unique id for all components below> // till here
</p:panelGrid>
我在<p:panelGrid>
中有一些组件,我希望内部的所有JSF组件都有一个唯一的id,除了第一个组件id="unq1"
答案 0 :(得分:2)
如果你想更新一组元素,为什么不用
包装呢?<h:panelGroup id="someId"
并使用
<p:ajax update="someId"
或者为什么不使用唯一的styleClass="myUniqueStyleClass"
并使用
<p:ajax update="@(.myUniqueStyleClass)"
答案 1 :(得分:1)
实现此目的的一种方法是创建自定义标记以生成随机字符串(将其存储在变量中),然后将其用作panelGrid内部的子/子组件的前缀。
例如:
<p:panelGrid>
<p:inputText id="unq1" value="{...}" />
<myTag:createId var="myNewId"/> --> Generate and Store the Id in Var
<h:inputText id="#{myNewId}-text"/> -->Use the var as prefix and create new id's.
...
...
</panelGrid>
注意:这不是最好的方法,因为它可能仍然会导致碰撞。