Pessoal,
estou com um problema ao usar Interceptors do Struts2. Quando associo minha Action ao Interceptor atraves da annotation interceptorRefs = {@InterceptorRef(“authorizer”)} minha Action nao consegue mais ter acesso ao Javabean do JSP. Seguem os codigos:
Action:
[code]@ParentPackage(“default”)
package uk.co.rangel.tasks.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import uk.co.rangel.dao.TaskDAO;
import uk.co.rangel.tasks.model.Task;
@ParentPackage(“default”)
public class AddTaskAction {
private Task task;
@Action(value="addTask",
results={@Result(name="OK", type="redirectAction", params={"ActionName", "listTasks"})},
interceptorRefs = {@InterceptorRef("authorizer")})
public String execute(){
new TaskDAO().addTask(this.task);
return "OK";
}
public Task getTask() {
return task;
}
public void setTask(Task task) {
this.task = task;
}
}
}[/code]
Interceptor:
[code]public class AuthorizerInterceptor implements Interceptor {
private static final long serialVersionUID = -8924888461901666436L;
@Override
public void destroy() {
}
@Override
public void init() {
}
@Override
public String intercept(ActionInvocation invocation) throws Exception {
Login login = (Login) invocation.getInvocationContext().getSession().get("loginSession");
if(login == null){
return "FAIL";
} else {
return invocation.invoke();
}
}
}
[/code]
struts.xml:
[code]<struts>
<include file=“struts-default.xml”/>
<package name=“default” extends=“struts-default”>
<interceptors>
<interceptor name=“authorizer” class=“uk.co.rangel.tasks.interceptor.AuthorizerInterceptor”/>
</interceptors>
<global-results>
<result name="FAIL">/jsp/login.jsp</result>
</global-results>
</package>
</struts>[/code]
Form JSP:
<form action="addTask" method="post">
<table width="800">
<tr>
<td>Description:</td>
<td><textarea name="task.description" rows="5" cols="100"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="SAVE"/></td>
</tr>
</table>
</form>
Agredeco desde ja a ajuda de todos!