Надеюсь, что в этом посте я могу получить мнение людей о лучших практиках интерфейса между страницами JSF и бэкэндами.JSF backing bean structure (best practices)
Одна вещь, на которую я никогда не могу согласиться, - это структура моих бэкэнсов. Кроме того, я никогда не нашел хорошей статьи по этому вопросу.
Какие свойства принадлежат бэкэндам? Когда целесообразно добавлять дополнительные свойства к данному компоненту, а не создавать новый компонент и добавлять на него свойства? Для простых приложений имеет смысл просто иметь один бэк-файл для всей страницы, учитывая сложность вложения одного компонента в другой? Должен ли поддерживающий компонент содержать какую-либо фактическую бизнес-логику или он должен строго содержать данные?
Не стесняйтесь отвечать на эти вопросы и любые другие вопросы, которые могут возникнуть.
Что касается уменьшения связи между страницей JSF и бэк-боба, я никогда не позволяю страницы JSF для доступа к свойствам любого имущества, поддержка бина. Например, я никогда не позволять что-то такое, как:
<h:outputText value="#{myBean.anObject.anObjectProperty}" />
Я всегда требуется что-то вроде:
<h:outputText value="#{myBean.theObjectProperty}" />
со значением боба поддержкой:
public String getTheObjectProperty()
{
return anObject.getAnObjectProperty();
}
Когда я цикл по коллекции , Я использую класс-оболочку, чтобы избежать, например, сверления в объект в таблице данных.
В целом, этот подход кажется мне «правильным». Это позволяет избежать любой связи между представлением и данными. Пожалуйста, поправьте меня, если я ошибаюсь.
Можете ли вы привести пример: Когда я перебираю коллекцию, я использую класс-оболочку, чтобы, например, не сверлить объект в таблицу данных. –
Для получения дополнительной информации см. Ответ BalusC по адресу http://stackoverflow.com/questions/7223055/making-distinctions-between-different-kinds-of-jsf-managed-beans/7223910#7223910 –