У меня есть несколько вопросов по различным вариантам и рекомендациям при использовании JSF с EJB3.1. Ментальная модель, которую я имею, учитывая множество вариантов и доступных комбинаций, далека от ясности, поэтому некоторые вопросы могут не иметь смысла.JSF/Facelets being beans и EJB3
JSF/Facelets ссылочного базовых компонентов (я использую термин «резервного боб» для фасоли, свойства которых записываются или считываются из Facelets страниц) с помощью EL кода, который является агностиком, как к реальным аннотациям, используемых в классах боба (javax.faces.bean. * или javax.enterprise.context. *).
Правильно ли сказать, что один может переключаться между JSF и CDI области видимости аннотациями только путем изменения импорта в классах фасоли без каких-либо изменений в Facelets Xhtml код?
ли установленный шаблон, который JSF/Facelets следует использовать только для кода разметки XHTML со всеми объему и жизненным циклом (плюс инъекции) аннотациями сделано с использованием CDI?
В JBoss AS настройки, где управление жизненным циклом из JSF отступающих бобов (с использованием либо JSF или CDI аннотациями), происходящие? В веб-контейнере или контейнере EJB3?
В типичном вебе-приложении, учитывая, что SessionScoped бобов могут быть предоставлен CDI, есть ли необходимость в использовании, отличные от типа @Entity, например, бобов EJB3 для последнего типичного шага в каждом «потоке», когда информация должна сохраняться в базе данных?
К сожалению, был осажденный в страшном «переполнение стека требует внешнего JavaScript из другого домена» проблемы и не может быстро принять ваш ответ. –
Ваш ответ очень ясен. То, что я понимаю, немного волосатое, - это взаимосвязь между жизненным циклом EJB и тем, что поддерживает бобы. Мне кажется, что в принципе EJB beans - совершенно другой зверь и не имеет прямой связи с страницами JSF и их бэкэндами. Тем не менее, в жизненных циклах соответствующих фасонов, похоже, существует какая-то незначительная зависимость и некоторые действительные и недействительные комбо. Статья, которую вы разделили, проливает некоторый свет, но я думаю, что нет никакой замены практического опыта. –
EJB следует использовать как деловые услуги. Они не должны заботиться о каких-либо артефактах JSF вообще и иметь дело только с объектами модели (экземпляры '@ Entity'). Абонентский компонент JSF (контроллер) должен, в свою очередь, иметь модельный объект ('@ Entity') как свойство, которое было использовано в представлении, а также EJB как услугу (введенный' @ EJB'). Абонентский компонент JSF должен иметь методы действий, которые будут выполнять методы EJB. Затем эти методы действия связываются с командами links/buttons/ajaxlisteners в представлении. – BalusC