JSF 2.0: Como recuperar o objeto/método de uma requisição em um PhaseListener
4 respostas
vinicius.me
Boa noite,
Eu tenho o seguinte Managed Bean:
@Named@SessionScopedpublicclassProdutoMBimplementsSerializable{//pagespublicStringpageProduto(){produto=newProduto();return"/cadastro/produto/Produto";}}//fim da classe
Em uma página existe uma EL que acessa esse Managed Bean, levando o usuário para a página de destino, no caso /cadastro/produto/Produto.
Gostaria de saber, como eu consigo recuperar o Managed Bean (ProdutoMB), na verdade o objeto, em um PhaseListener, no caso no método afterPhase(PhaseEvent event).
Segue abaixo o PhaseListner.
O que eu quero fazer na verdade é aplicar regras de segurança usando annotations.
Existe algum framework que permita isso?
Como eu faço para saber se o método que gerou a requisição pro JSF renderizar a próxima página está anotada com a minha anotação? Isso em um PhaseListner?
Não sei se fui claro o suficiente.
Obrigado,
Vinicius.
thimor
Nao sei sei vai resolver seu problema, mas quando eu preciso recuperar um managedbean eu faço assim.
E se eu quisesse pegar QUALQUER ManagedBean, e nao somente o ProdutoBean, como ficaria?
return context.getELContext().getELResolver().getValue(context.getELContext(), null, string);
Irá me retornar somente o objeto relacionado ao EL que eu passar na string.
Teria como eu recuperar no PhaseListener em tempo de execução a EL? Teria uma maneira mais facil.
Alguem já criou uma annotation para JSF? Pois é isso que quero fazer, porém não estou consguindo filtrar a mesma em runtime.