以下のコードフラグメントはエディターを表しています。私のアプリケーションでは、ウィンドウはタブパネルにエディターのグループを表示します。各タブには、エディターを行として持つデータテーブルが含まれています。ノードを選択すると、そのテキストがorganizationUnit入力テキストに表示されます。編集者はそれが親であることを知らないはずです。絶対クライアントIDを使用せずにorganizationUnitを更新することは可能ですか?
<p:tabView value="#{accountsBean.groups}" var="group">
<p:tab title="#{eval.getString(group.name)}">
<p:dataTable value="#{group.editors}"
var="editor">
<p:column>
<custom:include src="#{editor.component}">
<ui:param name="bean" value="#{editor.beanName}"/>
<ui:param name="mandatory" value="#{editor.mandatory}"/>
<ui:param name="name" value="#{editor.name}"/>
</custom:include>
</p:column>
</p:dataTable>
</p:tab>
</p:tabView>
<h:panelGrid id="containerEditor" columns="2">
<h:outputText value="#{name}: #{mandatory ? '*' : ''}" />
<p:tree value="#{bean.root}" var="node" selectionMode="single" selection="#
{selectedNode}">
<p:ajax event="select" listener="#{bean.onNodeSelect}"
update="update_organization_unit" immediate="true" />
<p:treeNode>
<h:outputText value="#{node}" />
</p:treeNode>
</p:tree>
<h:outputText />
<p:inputText id="organizationUnit" value="#{bean.selectedItemPath}"
disabled="true" />
</h:panelGrid>
タブパネルは、prependId="false"のフォームと呼ばれるフォーム内にあります