Struts 2动作方法和struts.convention.result.path不起作用

时间:2013-09-18 19:20:40

标签: java configuration struts2 action actionresult

我对Struts2操作方法和struts.convention.result.path有问题 这是我的struts.xml

<struts>
    <constant name="struts.action.extension" value="" />
    <constant name="struts.action.excludePattern" value="/.*\.(html|jsp),/static/.*"/>
    <constant name="struts.convention.result.path" value="/WEB-INF/pages/" />
    <package name="user" namespace="/user" extends="struts-default">
        <action name="login" class="loginAction" method="login">
            <result name="success">login.jsp</result>
        </action>
    </package>
<struts>

当我运行网址"localhost:8080/venus/user/login"时。它显示错误"HTTP Status 404 - /venus/user/login.jsp"

如果我将login()方法更改为execute()方法,则可行。 或者,如果我更改为<result name="success">/WEB-INF/pages/login.jsp</result>,则可以。

任何人都可以解释和教我如何在xml中使用动作方法和结果路径配置吗? 非常感谢你!

2 个答案:

答案 0 :(得分:1)

您应指定绝对路径名称。

<result name="success">/login.jsp</result>

答案 1 :(得分:1)

使用Convention插件时,不需要xml配置:

  • com.mycompany.actions.user - &gt;名称空间“user”
  • LoginAction - &gt; login.action
  • LoginAction#execute - &gt;成功 - &gt;用户/ login.jsp的
  • LoginAction#login - &gt;成功 - &gt;用户/登录(-login | -success)的.jsp