-1

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

4

2 回答 2

2

如果你想更新一组元素,为什么不包装然后用

<h:panelGroup id="someId" 

并使用

<p:ajax update="someId" 

或者为什么不将它们全部分配为唯一styleClass="myUniqueStyleClass"并使用

<p:ajax update="@(.myUniqueStyleClass)"
于 2013-02-18T08:34:37.847 回答
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>

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

于 2013-02-18T08:09:30.793 回答