<p:panelgrid> </p:panelgrid>中的JSF唯一ID

时间:2013-02-18 07:54:26

标签: jsf jsf-2

在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"

2 个答案:

答案 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>

注意:这不是最好的方法,因为它可能仍然会导致碰撞。