Какова стандартная управляемая область Bean в приложении JSF 2?

Обычно область по умолчанию – это область запроса. Я попытался удалить аннотацию области и ожидал, что bean будет иметь обработанное поведение bean-компонента (возвращая представленное значение на предыдущей странице, я помню, что я пробовал это в прошлом, и он работал нормально), но я ничего не получил на язык выражения, подключенный к нему. Итак, какова область по умолчанию и почему это не такое же поведение ?!

Зависит от того, кто управляет компонентом.

Если это JSF через @ManagedBean , то по умолчанию используется значение @RequestScoped , как указано в javadoc :

Если annotations области охвата опущены, компонент должен обрабатываться так, как если бы RequestScoped аннотация RequestScoped

Если это CDI через @Named , то по умолчанию используется значение @Dependent , как указано в документации Weld :

Наконец, CDI имеет так называемый зависимый псевдообзор . Это область по умолчанию для компонента, который явно не объявляет тип области.

Эффект заключается в том, что экземпляр компонента недавно создан на каждом элементе EL. Итак, представьте форму входа в систему с двумя полями ввода, ссылающимися на свойство bean, и кнопку команды, ссылающуюся на действие bean, таким образом, в общей сложности три EL-выражения, тогда эффективно будут созданы три экземпляра. Один с именем пользователя, одним из которых является набор паролей и один, на котором вызывается действие. В эффектах это ведет себя так же, как JSF @NoneScoped . Это подтверждает симптомы, которые вы видите.

Если это Spring с помощью @Component , то по умолчанию это @Scope("singleton") , как указано в javadoc :

По умолчанию: "singleton"

В эффектах это ведет себя так же, как JSF @ApplicationScoped и CDI @ApplicationScoped .

Netbeans не имеет к этому никакого отношения. Это всего лишь инструмент редактирования, например блокнот, но с более 1000 дополнительными функциями.

Смотрите также:

  • что не является областью видимости и когда ее использовать?
  • Как выбрать правильную область бобов?
Interesting Posts
Давайте будем гением компьютера.