атрибут привязки primefaces на нескольких включенных страницах

#jsf-2 #primefaces

#jsf-2 #primefaces

Вопрос:

У меня есть страница, включенная в xhtml, включенная в четыре разные страницы. На этой включенной странице есть компонент, у которого есть атрибут привязки, указанный binding="#{repeatType}" Поскольку эта страница включена в несколько страниц, мой компонент не отображается. Если я удалю атрибут привязки, он будет работать. Если я не включаю его на нескольких страницах, работает только одна страница и указание атрибута привязки. Я думаю, что если я смогу указать другое имя привязки для каждой включенной страницы, это может решить проблему. Все идентификаторы в inc.xhtml сделаны разными с помощью id="#{idPrefix}_recDrop" . Префикс идентификатора передается в качестве параметра с включающей страницы. Могу ли я что-нибудь сделать, чтобы изменить имя привязки?

Ответ №1:

Вы могли бы изменить включаемую страницу на composite component . Тогда одним из ваших входящих атрибутов для компонента может быть некоторый компонент для привязки компонента.

По соображениям дизайна лучше всего определить некоторый интерфейс для входящего компонента, который определяет атрибут привязки. Затем у вас может быть несколько компонентов, реализующих этот интерфейс, и, следовательно, несколько разных экземпляров composite component с другим экземпляром привязки.