Problemas com as Annotations do Struts 2

2 respostas
D

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…

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.

2 Respostas

W

Cara eu estou com o mesmo problema, pelo que andei procurando, acho que esse problema so sera resolvido na versado struts 2.1… existe outra annotation que aparentemente tem o mesmo problema @InterceptorRef

da uma olhada nesse link…

@InterceptorRef
https://issues.apache.org/struts/browse/WW-1796

@Before
https://issues.apache.org/struts/browse/WW-1773

D

q chato cara, mas eu até desisti de usar essa annotation e fiz um interceptor para resolver o problema…

mas obrigado pelo toque, e é bom saber q o pessoal da apache já sabem desse problema…

abrçs

Criado 8 de agosto de 2007
Ultima resposta 15 de ago. de 2007
Respostas 2
Participantes 2