Até agora existem 4 tipos de escopo: Logic, Request, Session e Application.
Esse escopo é um wrapper para o escopo da requisição. Ele vive até o usuário receber a resposta.
É o escopo padrão. Acesse ele usando a injeção da dependência pelo construtor:
public class MyLogic {
private RequestContext reference;
public MyLogic(RequestContext reference) {
this.reference = reference;
}
}Esse escopo é o wrapper para o escopo da sessão. Ele vive até a sessão expirar. (também veja Timeout da sessão na especificação de servlets).
Esse escopo acessa o contexto de servlets, também conhecido como escopo da applicação.
Esse é um escopo especial. Ele vive até o fim da proxima requisição. Muito util para redirecionamentos, quando queremos manter os parametros durante eles.
Se voce tiver em seu views.properties:
myComponent.myLogic.ok = redirect:otherComponent.otherLogic.logic
as variaveis do escopo flash vão continuar valendo em otherComponent.otherLogic, enquanto as variaveis do escopo request não vão.