Я надеюсь, что в этом посте я смогу узнать мнение людей о передовых методах взаимодействия между страницами JSF и компонентами поддержки.
Одна вещь, на которой я никогда не могу остановиться - это структура моих бобов. Кроме того, я никогда не нашел хорошую статью на эту тему.
Каким свойствам принадлежат какие бобы? Когда целесообразно добавить больше свойств к данному бину, а не создавать новый бин и добавлять к нему свойства? Для простых приложений имеет ли смысл просто иметь один компонент поддержки для всей страницы, учитывая сложность, связанную с внедрением одного компонента в другой? Должен ли компонент поддержки содержать какую-либо действительную бизнес-логику или он должен строго содержать данные?
Не стесняйтесь отвечать на эти и любые другие вопросы, которые могут возникнуть.
<ч />
Что касается уменьшения связи между страницей JSF и компонентом поддержки, я никогда не позволяю странице JSF получать доступ к свойствам какого-либо компонента поддержки. Например, я никогда не разрешаю что-то вроде:
<h:outputText value="#{myBean.anObject.anObjectProperty}" />
Мне всегда нужно что-то вроде:
<h:outputText value="#{myBean.theObjectProperty}" />
со значением базового компонента:
public String getTheObjectProperty()
{
return anObject.getAnObjectProperty();
}
Когда я зацикливаю коллекцию, я использую класс-оболочку, чтобы избежать, например, детализации объекта в таблице данных.
В общем, этот подход мне кажется "правильным". Это позволяет избежать какой-либо связи между представлением и данными. Пожалуйста, поправьте меня, если я ошибаюсь.