The none scope
The none scoped beans lives to serve other beans.
The none scope seems to be the black sheep of JSF scopes. Even its name doesn't inspire something useful. Practically, a managed bean in this scope lives as long as a single EL expression evaluation and is not visible in any JSF page. If the application scope lives the longest, this scope lives the shortest. But, if you inject the none scoped managed beans in other managed beans, then they will live as long as their hosts. Actually, this is their job, to serve other beans.
Note
The none scoped objects used in the configuration file indicate managed beans that are used by other managed beans in the application.
So, whenever you need a humble managed bean that is ready to be a part of a cool scope, such as a request or a session, you can annotate it with @NoneScoped
, available in the javax.faces.bean
package. Moreover, objects with the none scope can use other objects with the none scope.