Olá a todos, estou fazendo um estudo sobre as annotations do struts 2, mas até agora, nenhuma das quais eu testei, faz oque deveria fazer…
Nesse post: http://www.guj.com.br/posts/list/66130.java eu falo sobre a @Result, que até agora não consegui fazer a bendita funcionar…
Agora estou com um outro problema com as Annotations, e a bola da vez é a @Before.
Oque acontece é o seguinte, fiz a seguinte classe:
public abstract class BaseRdcompAction extends ActionSupport {
private static final long serialVersionUID = -8152162540645757675L;
@Before
public void isAuthorized(){
System.out.print("**************** Autorizado **********************");
}
}
Ela é uma classe abstrata que todas as outras actions do sistema vão extender, até ai tudo bem.
Criei uma outra classe:
public class Teste extends BaseRdcompAction{
public Teste(){}
private static final long serialVersionUID = 5061655250991884388L;
public String execute() {
return SUCCESS;
}
}
Como vcs podem reparar, ela extende BaseRdcompAction.
Certo, tudo muito bonito…
Agora o problema:
A annotation @Before não faz oque deveria fazer, que é executar o método antes de qualquer outro método da action.
como diz a propria documentação do Struts 2:
Marks a action method that needs to be executed before the main action method. ( link: http://struts.apache.org/2.0.9/struts2-core/apidocs/com/opensymphony/xwork2/interceptor/annotations/Before.html
tentei usar o priority da annotation @Before mas tb não adiantou…
alguem tem idéia de oque está acontecendo???
Struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- habilita o uso de outros métodos de action internamente na classe action
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="false" />
-->
<package name="actions" namespace="/actions" extends="struts-default">
<action name="Teste" class="br.com.rdcomp.actions.principal.Teste">
<result>/jsp/index.jsp</result>
</action>
</package>
</struts>
Aguardo Muitas
respostas
Obrigado…