Estou usando Struts 2 em meu projeto e estou trabalhando com invocação dinâmica de métodos na minha action.
O que acontece é que quando ocorre uma exceção de runtime, por exemplo, uma exceção java.lang.UnsupportedOperationException,
em um método invocado dinâmicamente, ou seja, qualquer um exceto o método execute(), o mecanismo de manipulação de
exceções do Struts 2 não redireciona o result para a página que eu defini.
Segue abaixo para maior clareza um snippet do meu arquivo struts.xml:
Para testar, por exemplo, eu lancei uma exceção em um desses métodos dinânimos, digamos, por exemplo, método view().
Logo, para chamá-lo sigo para http://localhost:8080/app/viewcrisis.action
Assim, o struts deveria redirecionar para o result de name “fail”, renderizando a página error.jsp, mas não ocorre e abre a
página de nome “success” testCrisis.jsp.
Quando eu lanço a mesma exceção no método execute(), o struts redireciona para a página de erro corretamente.
O que foi que eu deixei passar?
Se alguém puder me ajudar agradeço muito, pois estou empacado nisso.
pelo que entendi se você mapear numa action só serão pegas essas exceptions se forem dessa action, como você coloca um action que não existe provavelmente ele não
pegue a excessao eu acho :roll:
pelo que entendi se você mapear numa action só serão pegas essas exceptions se forem dessa action, como você coloca um action que não existe provavelmente ele não
pegue a excessao eu acho :roll: [/quote]
E aí acjZer0! Obrigado pela resposta! Tá dificíl mesmo, acho que estão me faltando conceitos pra me aprofundar mais.
Bom, eu li este tutorial da Apache, mas não funcionou aqui. Só funciona quando a exceção é gerada no método execute da action.
Talvez seja isso aí mesmo que você disse, porque como é um wildcard no meio do nome, o struts pode ser que não pegue…
Mas olha só que curioso, se eu mapear a exception com result de type=“chain” pra uma outra action, ele executa o método desta outra
action mas não mostra a página associada a ela… (mapeada no xml) :?:
eu acho que por causa do wild, esse wild e uma MER#@ assim, eu utilizei o Struts 2 no meu projeto final com wild para você ver a porcaria das validações não funcionaram ficou uma porcaria, e por isso tive que fazer um frameworkzinho de validações, portanto se você tiver oportunidade fuja dos wilds com o Struts2