Problemas com as Annotations do Struts 2

1 resposta
mcbarsotti

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 :smiley: respostas

Obrigado…

1 Resposta

V

Da uma lida aqui: http://struts.apache.org/2.0.14/struts2-core/apidocs/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.html

Criado 8 de agosto de 2007
Ultima resposta 25 de mar. de 2009
Respostas 1
Participantes 2