1

我的任务是关于 struts2 动作链接,我的程序名称是chaining,我使用了正确的语法,但它不起作用。

struts.xml

<action name="register" class="RegisterAction"> 
    <result name="success" type="chain">login.action</result>    
</action>
<action name="login" class="LoginAction" >
    <result name="success">/login.jsp</result>  
</action>

注册动作.java

public class RegisterAction {

    public String execute() {
        return "success";             
    }
}

登录操作.java

public class LoginAction {

    public String execute() {
        return "success";
    }
}

但是当我运行程序时,它会出现以下错误

没有为与上下文路径 [/chaining] 关联的命名空间 [/] 和操作名称 [login.action] 映射的操作。

4

1 回答 1

2

从链接的操作名称中删除后缀,从此

<result name="success" type="chain">login.action</result>  

对此

<result name="success" type="chain">login</result>  

注意不推荐使用Action Chaining,应该首选Redirect Action或者其他一些方式。

官方文档

不要在家里尝试这个
作为一项规则,不推荐使用动作链。首先探索其他选项,例如 Redirect After Post 技术。

也看看这个答案:https ://stackoverflow.com/a/4761955/1654265

于 2013-07-01T10:03:09.497 回答