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



我对 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 中将操作方法与结果路径配置一起使用?谢谢!

应指定绝对路径名。

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

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

  • com.mycompany.actions.user -> namespaces "user"
  • 登录操作 ->登录操作
  • 登录操作#执行 -> 成功 ->用户/登录.jsp
  • LoginAction#login -> success -
  • > user/login(-login|-success).jsp

相关内容

最新更新