No struts oque ocorre é ± isso:
pagina -> actionForm executa validate() -> Action executa o execute()-> faz o forward conforme o struts-conf.xml.
Alguem pode me dizer como acontece no WebWork ?? Peguei o tutorial qui do portal mas não estou entendendo isso. Queria saber a sequencia que ocorre entre as actions, validações, interceptors, etc.
Oi, valeu pela ajuda, um amigo tem a webmobile ai dei uma olhada no teu artigo. Deu uma clareada nas minhas dúvidas, mas ainda estou com algumas, por exemplo, a validação de formulário eu entendi, ficou bem claro, mas, quando acontecem erros, a action ainda é executada ou é retornado direto pra página com as mensagem: Informe nome, Informe sobrenome… ??
Outra, não peguei muito bem como funciona os interceptors, até li o artigo Introdução ao Webwork do GUJ mas não entendi direito.
Por exemplo, pra verificar se uma action implementa model-driven, somente uma action, não todas, como eu faria ??
E como eu crio um interceptor pra ser executado depois de uma action ?? No teu artigo tu diz que eles são como a classe Filter né ? Então eu teria que iniciar o interceptor chamar a action pra ser executada e depois voltar no ponto onde parou o interceptor ? seria isso?? se sim, como eu o faço???
A action não é executada, pois o interceptor de validação intercepta a action e o resultado do tipo INPUT é retornado.
[quote=“matheus564”]Outra, não peguei muito bem como funciona os interceptors, até li o artigo Introdução ao Webwork do GUJ mas não entendi direito.
Por exemplo, pra verificar se uma action implementa model-driven, somente uma action, não todas, como eu faria ??[/quote]
Os interceptors executam lógica antes de depois da execução de uma action.
Não entendo muito bem o que você disse. Um interceptor é parecido com um Filter do JEE. No WebWork você não tem que iniciar um interceptor (a não ser que seja um interceptor criado por você.), basta declarar o interceptor que será utilizado pela action. Nos interceptors default do WebWork, você não conseguirá efetuar customização mas nada te impede de criar o seu próprio interceptor.
Se você der uma lida na documentação, verá que um interceptor tem a seguinte estrutura:
[code] public void destroy() {
}
public void init() {
}
public String intercept(final ActionInvocation actionInvocation) {
}[/code]
Para processar lógicas você pode usar um dos três métodos acima, dependendo da sua necessidade.