有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Struts 2结果类型将操作重定向到通配符操作方法

My action类包含以下操作方法:

public class MyActionClass extends ActionSupport {

 public String valid(){
//
}

 public String invalid(){
//
}

}

我的配置:

<action name="*MyActionClass" class="action.MyActionClass" method="{1}">
            <interceptor-ref name="token"/>
            <interceptor-ref name="basicStack"/>
            <result type="chain" name="invalid.token" type="redirectAction">
                <param name="actionName">MyActionClass</param>
                <param name="method">invalid</param>
            </result>
            <result name="Completed">/example/valid.jsp</result>
        </action>

我的电话号码是无效的。令牌结果无效。我试图在同一个action类中转发到action方法

它给了我无限递归检测到的异常,我想这是无效的。令牌一次又一次,我可以为这个转发禁用令牌拦截器吗


共 (1) 个答案

  1. # 1 楼答案

    以下任何选项都应该起作用:

    1. (首选选项)改为重定向到另一个操作类。让拦截器不应用于该动作类

    2. TokenInterceptor中,您可以根据以下参数检查它是否为无效令牌:

      Map params = ActionContext.getContext().getParameters();
      if (params.containsKey("method") && params.get("method").equals("invalid")){
         invocation.invoke(); //Pass on the invocation 
      } else {
         //Do your interceptor logic here
      }