11 ответов:
изменение моего первоначального ответа - нет никакой существенной разницы между ними. Элемент учебник говорит, что резервные бобы позже объявляются как управляемые бобы. Итак, подведем итог:
- бэк-бин-это класс вне контекста
- управляемый компонент является бэк-компонентом всякий раз, когда он объявлен для использования с объектом управляемого компонента JSF.
Я никогда не использовал термин "бэк-бин", потому что я не нашел ему применения. Так возможно, вам лучше использовать только "управляемый Боб". Обратите внимание, что в JSF 2.0 (и в CDI) у вас есть
@ManagedBean- таким образом, ваш боб является управляемым Бобом.BalusC предположил, что "базовый компонент" является определением, и "управляемый Bean-компонент" является экземпляром. Хотя это, возможно, была оригинальная идея создателей JSF, я не думаю, что стоит ее поддерживать. Например, CDI и spring не имеют другого термина для "определения bean" и "экземпляра bean".
спецификация JSF 2.0 упоминает термин "бэк-бин" всего несколько раз, без какого-либо определения. В дополнение к тому, что он упоминает "базовый компонент класса", которое может означать, что "базовый компонент" != "backing bean class", что приводит к дальнейшей путанице.
Итак, чтобы сделать вывод - для меня оба взаимозаменяемы, и я бы придерживался только использования "управляемого Боба"
что такое управляемый Bean-компонент?
объекты JavaBean, управляемые реализацией JSF, называются управляемыми компонентами. Управляемый компонент описывает, как он создается и управляется. Это не имеет ничего общего с функциональностью компонента.
что такое бэк-бобов?
бэк-бобы-это компоненты JavaBeans, связанные с компонентами пользовательского интерфейса, используемыми на странице. Управление Backing-bean отделяет определение объектов компонентов пользовательского интерфейса от объектов которые выполняют обработку для конкретного приложения и хранят данные. Бэк-компонент определяет свойства и логику обработки, связанные с компонентами пользовательского интерфейса, используемыми на странице. Каждый бэк-бин собственность обязан либо экземпляр компонента или его стоимость. Backing bean также определяет набор методов, которые выполняют функции для компонента, такие как проверка данных компонента, обработка событий, которые запускает компонент и выполнение обработки, связанной с навигацией, когда компонент активируется.
каковы различия между бэк-Бобом и управляемым Бобом?
бэк-бобы-это просто соглашение, подтип управляемых бобов JSF, которые имеют очень конкретную цель. В бэк-Бине нет ничего особенного, что отличает его от любого другого управляемого Бина, кроме его использования.
MB : Управляемого Компонента ; BB : Базовый Компонент
1) BB: A бэк-бин-это любой Бин, на который ссылается форма.
MB: управляемый компонент-это резервный компонент, зарегистрированный в JSF (в faces-config.xml) и он автоматически создается (и необязательно инициализируется) JSF, когда это необходимо.
преимущество управляемых компонентов заключается в том, что JSF framework автоматически создает эти компоненты, при необходимости инициализирует их с помощью параметров, указанных в faces-config.XML.
2) BB: Бэк-бобы должны быть определены только в запрос области
MB: управляемые бобы, созданные JSF, могут храниться в область запроса, сеанса или приложения .
бэк-бобы должны быть определены в области запроса, существовать в отношениях один-к-одному с определенной страницей и содержать весь код обработки событий конкретной страницы. В реальном сценарии для нескольких страниц может потребоваться одна и та же поддержка Боб за кулисами. Бэк-компонент содержит не только данные представления, но и поведение, связанное с этими данными.
базовый компонент-это любой компонент, связанный с пользовательского интерфейса JSF. в то время как управляемый боб-это любой Боб
проще говоря,
вы как разработчик делаю:
@ManagedBean(name="managedBean") @RequestScoped public class BackingBean { // ... }в JSF в качестве основы управления в зернах делает под одеялом:
BackingBean managedBean = new BackingBean(); externalContext.getRequestMap().put("managedBean", managedBean);таким образом, бэк-бин-это конкретный класс, который разрабатывается вами и обычно привязывается к представлению, а управляемый бин-это конкретный экземпляр, который находится под обложками, созданными и помещенными в желаемую область фреймворком управления bean по требованию и доступный
#{managedBean}в ЭЛ. Вам никогда не нужно создавать и помещать его в прицел для себя. Если вы это сделали, то нет средств для управляемого инфраструктурой компонента.CDI
@Namedи весной@Componentсделать по существу то же самое, что и JSF@ManagedBean.чтобы узнать больше о том, как фреймворки управления бобами, такие как JSF, CDI и Spring, находят и создают свои управляемые бобы, следующий инструмент устранения неполадок должен обеспечить глубокое понимание: определение и решение javax.Эль.PropertyNotFoundException: Цель Недостижима.
посмотреть также:
http://docs.oracle.com/javaee/5/tutorial/doc/bnaqm.html говорит
типичное приложение Javaserver Faces включает один или несколько резервных компонентов, каждый из которых является управляемым компонентом JavaServer Faces, связанным с компонентами пользовательского интерфейса, используемыми на определенной странице. Управляемые компоненты-это компоненты JavaBeans (см. раздел Компоненты JavaBeans), которые можно настроить с помощью объекта управляемых компонентов, описанного в разделе Настройка компонентов. В этом разделе представлены Основные понятия о создании, настройке и использовании резервных компонентов в приложении.
http://docs.oracle.com/javaee/6/tutorial/doc/bnaqm.html не упоминает "бэк-бин".
Я бы сказал, что бэк-бин-это бин, используемый строго для целей пользовательского интерфейса, то есть ссылающийся на файлы jsp. В конце концов, все бобы, управляемые контейнером JSF, являются управляемыми бобами, однако существуют различные контексты, в которых они могут использоваться. Для получения дополнительной информации см. принятый ответ здесь:JSF: ManagedBean, хорошее место для работы с бизнес-логикой?
Управляемые Бобы управляются (создаются и уничтожаются) контейнером.
Бэк Фасоли управляемые бобы, которые просматриваются назад как модели данных.
базовый компонент-это разновидность управляемого компонента. Управляемый компонент-это объект (т. е. экземпляр класса), созданный контейнером (поэтому он называется управляемым), и, конечно же, этот объект имеет класс, и если вам это нравится, вы можете создать столько экземпляров этого класса, сколько бы аннотаций они ни имели с m = new MyManagedBean (), просто это будет не так управляемый компонент или, по крайней мере, не управляемый контейнером, но управляемый вами:)
и backing bean-это своего рода управляемый Боб (как сказал Сантош: соглашение), которое обычно использует JSF requestScope (но в некоторых фреймворках, таких как ADF, есть даже назначенная область только для резервных бобов, называемых backingBeanScope - вы бы никогда не догадались).
и да... Аромат управляемых бобов jsf, которые можно было бы назвать BackingBeans, используется для связывания UIComponents и записи ActionListeners, в то время как, скажем, аромат "model beans" будет входить в область сеанса, например, и удерживать ваши данные
Я взял очень хороший (дорогой) курс по JSF. То, что я узнал там, как раз о том, что объясняется в http://www.avromroyfaderman.com/2008/07/from-backing-bean-to-managed-bean/.
возможно, эта разница не является теоретической разницей или этимологией терминов, но это, безусловно, очень практичный способ настроить свою архитектуру, особенно если вы являетесь частью большого проекта с несколькими разработчиками и/или должны поддерживать много кода для a долгое время. В основном идея заключается в том, что вы помещаете свою бизнес-логику пользовательского интерфейса в управляемые компоненты. Бэк-бобы редки и просто поддерживают саму страницу.
по этой ссылке JSF-управляемые бобы
Управляемый Bean-Компонент :
управляемый компонент-это обычный класс Java Bean, зарегистрированный в JSF. Другими словами, управляемые компоненты-это Java-компоненты, управляемые JSF framework.
по этой ссылке создание и использование бэк-Бина для веб-страницы :
Базовый Компонент :
в JSF бэк-бобов JavaBeans используется в основном для обеспечения логики пользовательского интерфейса и для управления данными между веб-уровнем и бизнес-уровнем приложения (аналогично объекту передачи данных). Обычно у вас есть один бэк-Бин на страницу JSF. Бэк-компонент содержит логику и свойства для компонентов пользовательского интерфейса, используемых на странице.
NB:
чтобы бэк-Бин был доступен при запуске приложения, вы зарегистрируйте его в качестве управляемого компонента с именем и объем
Управляемый Bean-Компонент:
управляемый компонент-это резервный компонент, зарегистрированный в JSF (в faces-config.xml) или с помощью аннотаций. Управляемый компонент автоматически создается (и необязательно инициализируется) JSF, когда это необходимо.
Если вы используете управляемый компонент в своем приложении, вы должны использовать следующий синтаксис на странице JSF для установки или получения значений form bean
<h:inputText value="#{user.name}"/>Базовый Компонент:
боб, который содержит некоторые или все объекты компонентов веб-формы. Такой компонент называется вспомогательным компонентом для веб-формы.
когда вы используете бэк-бин, вам нужно подключить компоненты на форма для тех, кто на фасоли. Вы используете атрибут привязки для этой цели
пример:
<h:inputText binding="#{myForm.myComponent}" .../>наблюдайте, как мы получаем или устанавливаем значения для Backing bean.
бэк-бобы должны быть определены в области запроса, существовать в отношениях один-к-одному с определенной страницей и держите все страницы конкретного кода обработки событий
надеюсь, что это полезно для кого-то.
Comments