| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/06/2007 20:02:45
|
andrepestana
JavaEvangelist
![[Avatar]](/images/avatar/5be278a9e02bed9248a4674ff62fea2c.png)
Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline
|
Pessoal,
No JSF como consigo obter o nome do método que será chamado num ManagedBean para decidir se ele pode ou não ser executado?
Eu estava pensando em fazer isso com um PhaseListener mas não achei nenhum método que me dá a chamada para o método.
Alguém pode dar um exemplo?
[]'s
Pestana
|
Pestana
http://andrepestana.wordpress.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2007 01:41:07
|
fre_d
Java Ninja
Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline
|
Estou fazendo isso para implementar um sistema de segurança. Estou usando JBoss AOP. Você pode usar tb AspectJ.
Flw
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/07/2007 15:47:20
|
andrepestana
JavaEvangelist
![[Avatar]](/images/avatar/5be278a9e02bed9248a4674ff62fea2c.png)
Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline
|
Por favor,
alguém poderia me dar uma luz para obter o nome do método que será chamado ou a expression language que foi executada?
Eu não "posso" usar AOP. Preciso fazer no phaselistener.
Procurei muito sobre o assunto e não achei nada.
André
|
Pestana
http://andrepestana.wordpress.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/07/2007 16:06:40
|
fre_d
Java Ninja
Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline
|
As EL são invocadas pelos toda vez que você invocar o método do componente
Toda x que você chamar o método getValue ele vai executar a EL isso pode ser executado por exemplo nas fases PROCESS_VALIDATIONS, INVOKE_APPLICATION e RENDER_RESPONSE.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/07/2007 16:49:32
|
keller
GUJ Master
![[Avatar]](/images/avatar/f410588e48dc83f2822a880a68f78923.jpg)
Membro desde: 12/11/2003 16:24:00
Mensagens: 1817
Localização: Auckland - NZ
Offline
|
Ola,
andrepestana wrote:
Pessoal,
No JSF como consigo obter o nome do método que será chamado num ManagedBean para decidir se ele pode ou não ser executado?
Que tal um filter?
( http://java.sun.com/products/servlet/Filters.html )
andrepestana wrote:
Eu estava pensando em fazer isso com um PhaseListener mas não achei nenhum método que me dá a chamada para o método.
Alguém pode dar um exemplo?
[]'s
Pestana
Nao faz isso nao, se com filter nao funcionar utilize um Proxy.
Boa sorte!
|
Guilherme I. Keller (Gui)
Diploma in Web Development and Desktop Publishing
SCJA | SCJP | SCWCD | SCBCD | CSM
"Test it, before it test you."
http://flickr.com/guikeller |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/07/2007 17:13:50
|
andrepestana
JavaEvangelist
![[Avatar]](/images/avatar/5be278a9e02bed9248a4674ff62fea2c.png)
Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline
|
Fre_d,
Estou usando myfaces 1.1.4 e o FacesContext não tem esse método getELContext().
Tb não entendí o que vc quis dizer:
As EL são invocadas pelos toda vez que você invocar o método do componente
Keller,
Não quero filtro. Gostaria de saber se há um jeito de implementar um PhaseListener que me dá a chamada para o método ou a EL chamada.
Valeu,
|
Pestana
http://andrepestana.wordpress.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/07/2007 17:47:33
|
fre_d
Java Ninja
Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline
|
O código que postei é da versão 1.2
Abaixo versão 1.1 UIInput método getValue
O que quis dizer é o seguinte. Toda vez que você chama o método UIInput.getValue() ele invoca a EL. Então essa EL pode ser invocada em qualquer fase como por exemplo PROCESS_VALIDATIONS, INVOKE_APPLICATION e RENDER_RESPONSE
Exemplos:
PROCESS_VALIDATIONS
validação: UIInput.getValue() == null -> enviar erro para tela
INVOKE_APPLICATION
Bean: buscaUsuario(UIInput.getValue());
RENDER_RESPONSE
InputRenderer: UIInput.getValue() -> exibir o valor para o usuário
Em todas essas fases a EL foi invocada.
O JBoss Seam utiliza AOP para fazer as interceptações, acho muito dificil você conseguir fazer de outra forma
Flw
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/07/2007 20:02:48
|
andrepestana
JavaEvangelist
![[Avatar]](/images/avatar/5be278a9e02bed9248a4674ff62fea2c.png)
Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline
|
fre_d,
obrigado pela força, cara, mas o que eu preciso é obter a EL no PhaseListener e os métodos do phaselistener só recebem um PhaseEvent. Ex.:
Como dentro de um métdo do PhaseListener eu consigo obter a EL chamada ou o nome do método do bean?
Eu quero receber todas as EL's chamadas, não uma específica ou de um componente específico como UIInput.
valeu,
|
Pestana
http://andrepestana.wordpress.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/07/2007 12:33:35
|
fre_d
Java Ninja
Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline
|
Da uma olhada nos fontes e veja quando um PhaseListener é acionado. É sempre antes e depois das fases. Os EL são executados dentro das fases.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/07/2007 12:53:28
|
andrepestana
JavaEvangelist
![[Avatar]](/images/avatar/5be278a9e02bed9248a4674ff62fea2c.png)
Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline
|
desculpe, fre_d, mas não respondeu a minha pergunta.
Eu preciso de um exemplo que mostre como obter a EL num phaseListener. Eu já procurei bastante antes de perguntar aqui neste forum.
Alguém sabe como fazer isso?
grato,
|
Pestana
http://andrepestana.wordpress.com/ |
|
|
 |
|
|