JSF2: ui: include: идентификатор компонента должен быть уникальным - PullRequest
2 голосов
/ 09 августа 2010

Основной вопрос:

Включая страницу, содержащую компонент с идентификатором компонента, выполнить несколько раз невозможно. Но как я могу получить ссылку на этот компонент, который находится на этой странице?

Пример:

included.xhtml

....
<h:form id="foo"/>
....
<!-- here i need reference to foo component of this page -->

index.xhtml

....
<ui:include src="included.xhtml" />
<ui:include src="included.xhtml" />
<ui:include src="included.xhtml" />

1 Ответ

8 голосов
/ 09 августа 2010

С ui:include идентификатор будет продублирован.

Вы можете передать параметр в ваш включенный xhtml и поставить префикс вашего идентификатора

<ui:include src="included.xhtml">
    <ui:param name="idPrefix" value="myFormIdPrefix"/>
</ui:include>

В комплекте xhtml

<h:form id="#{idPrefix}_foo"/>

Теперь можно ссылаться на идентификатор как #{idPrefix}_foo

...