1

我对 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>

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

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

谁能解释并教我如何在 xml 中使用带有结果路径配置的操作方法?非常感谢!

4

2 回答 2

1

您应该指定绝对路径名。

<result name="success">/login.jsp</result>
于 2013-09-18T20:09:44.583 回答
1

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

  • com.mycompany.actions.user -> 命名空间“用户”
  • LoginAction -> login.action
  • LoginAction#execute -> 成功 -> 用户/login.jsp
  • LoginAction#login -> 成功 -> 用户/登录(-login|-success).jsp
于 2013-09-20T07:25:42.447 回答