java - Struts 2结果类型redirectAction转发到通配符操作方法

标签 java struts2

我的操作类包含以下操作方法:

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>

我转发到 invalid.token 结果不起作用。我正在尝试转发到同一操作类中的操作方法。

它给了我无限递归检测到的异常,我猜它一次又一次变得无效。 token ,我可以为此转发禁用 token 拦截器吗?

最佳答案

以下任何选项都应该有效:

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

  2. 在您的TokenInterceptor中,您可以根据参数检查它是否是无效 token :

    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
    }
    

关于java - Struts 2结果类型redirectAction转发到通配符操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19857474/

相关文章:

java - 尝试查找给定路径中是​​否存在文件

Java字符串获取空格后的字符

java - 查找Netbeans中设置的主项目的路径

java - 我的字符串编码内部 JSON 文档的 Gson 解析错误

java - libgdx 如何检测冲突?

java - 无法在struts2中通过jdbc从数据库存储和检索图像数据

java - Struts2中使用复选框删除多行

java - 使用 Action 数据模型值在 Struts2 JSP 中调用静态方法帮助程序类

jsp - 没有为与上下文路径 [/Struts2Test] 关联的命名空间 [/] 和操作名称 [login] 映射的操作

java - 如何在 Struts 2 JSP 结果中链接到外部网站上的图像/css 文件?