Как использовать связывание компонентов в JSF правильно? (компонент в области запроса в компоненте сеанса)

Мохара 2.1.21

Я обновил свой вопрос на основе комментариев. У меня есть две ситуации, когда компонент связан с компонентом сеанса сервера. (Дополнительные ссылки с информацией:Атрибут Binding приводит к дублированию идентификатора компонента, найденного в представлении а такжеhttps://stackoverflow.com/a/12512672/2692917)

Версия 1:

single.xhtml:

 <h:outputText value=... binding="#{mysessionbean.out}" />

Ява:

 @SessionScoped @Named public class Mysessionbean {
    UIOutput out;
    //getter and setter ....
 }

Версия 2:

template.xhtml:

 <h:outputText value=... binding="#{mysessionbean.out}"

view1.xhtml:

 <ui:composition template="template.xhtml" />

view2.xhtml:

 <ui:composition template="template.xhtml" />

Ява:

 @SessionScoped @Named public class Mysessionbean {
    UIOutput out;
    //getter and setter ....
 }

Версия 1 в порядке. (По крайней мере, я пока не встречал ошибок). Но в версии 2 возникает ошибка дублирования идентификатора, если я перехожу с одной страницы на другую. Почему это происходит? Безопасно ли использовать (в рамках запроса) компонент (в версии 1) с привязкой в рамках сеанса? Есть ли другие варианты использования для рассмотрения?

Редактировать:Функциональное требование 1:

Я хочу использовать Primefaces datatable в представлении. Мне нужна информация из этого источника данных. (Например, выбранная строка или индекс строки). Таким образом, привязка данных помогает мне получить эту информацию.

Функциональное требование 2:

Связывание компонентов в составных компонентах. Они будут привязаны к сессионному компоненту. (И используется в основном на одной странице, но что, если я использовал его на другой странице?

Требования 3

Ситуация как в "Версии 2". Шаблон с меню простых лиц и привязкой к сессии. Для этого я использовал EL-Binding.

Ответы на вопрос(2)

Ваш ответ на вопрос