Бин с аннотацией <managed-bean-scope>
из none
или @NoneScoped
будет создаваться для каждого выражения EL, ссылающегося на бин.JSF нигде не хранится.Вызывающая сторона должна сохранить оцененную ссылку сама, если это необходимо.
Например, следующее в представлении
<p>#{noneScopedBean.someProperty}</p>
<p>#{noneScopedBean.someProperty}</p>
<p>#{noneScopedBean.someProperty}</p>
для bean-объекта без области действия создаст bean-компонент 3 (три) раза во время запроса.Каждый доступ к bean-компоненту дает совершенно отдельный bean-компонент, который используется сразу после доступа к свойству.
Однако следующее, например, в bean-объекте области действия
@ManagedProperty("#{noneScopedBean}")
private NoneScopedBean noneScopedBean;
сделаетжить до тех пор, пока экземпляр bean-объекта ограничен сессией.Вы должны убедиться, что вы получаете доступ к нему в представлении только с помощью #{sessionScopedBean.noneScopedBean.someProperty}
.
Так что это может быть полезно, если вы хотите, чтобы данные без области действия были доступны как управляемое свойство в произвольном компоненте.