Вы можете использовать следующее решение
вы можете привязать элемент, который вы хотите отрендерить, к хэш-карте, которая будет существовать в области запроса
и чем использовать эту привязку в атрибуте render
, это может показаться сложным, но это не
вот пример
Поместить HashMap в область запроса face-config.xml:
<managed-bean>
<description>Holder of all component bindings.</description>
<managed-bean-name>components</managed-bean-name>
<managed-bean-class>java.util.HashMap</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
чем использовать это так:
<p:message binding="#{components.myMessage}"></p:message>
или
<p:tab binding="#{components.myTabName}"></p:tab>
и, наконец, отобразить это так
<p:ajax event="expand" update="#{components.myMessage.clientId}" listener="#{treeBean.onNodeExpand}"></p:ajax>
или
<p:ajax event="expand" update="#{components.myTabName.clientId}" listener="#{treeBean.onNodeExpand}"></p:ajax>
Это решение было взято из более старых ответов BalusC о том, как получить идентификатор смотрите здесь ...