【问题标题】:Struts 2 remove .action extension when redirectStruts 2 在重定向时删除 .action 扩展名
【发布时间】:2014-01-15 20:38:12
【问题描述】:

在开始之前,我很抱歉我的英语不好,因为英语不是我的第一语言。但是,我遇到了 Struts 2 重定向的问题。

我的Struts.xml 文件的一部分是这样的:

<package name="login" namespace="/" extends="struts-default">
    <action name="login" class="Action.loginAction">
        <result name="success" type="redirectAction">
            <param name="actionName">search</param> 
            <param name="namespace">/</param> 
        </result>
        <result name="error">/login.jsp</result>
        <result name="input">/login.jsp</result>
    </action>
</package>

我有一个loginAction 负责登录用户(不管这个文件的内容是什么)。当这个动作的结果是success 时,我想重定向到search 动作。一切正常,但我的问题是,当我重定向到 search 操作时,URL 如下所示:http://localhost:8080/MyWebApplication/search.action

我希望在重定向到特定操作时从 URL 中删除 .action。我需要改变什么来解决这个问题?

感谢您的关注。

【问题讨论】:

标签: java redirect struts2


【解决方案1】:

struts2框架默认会添加.action,你可以通过如下配置覆盖它。

<constant name="struts.action.extension" value=""/> 

参考: http://struts.apache.org/release/2.3.x/struts2-core/apidocs/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.html

【讨论】:

  • 这样,所有的js/css/image文件都会被认为是struts action,导致404错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多