如何在struts2中实现全局重定向页面

时间:2015-05-22 16:10:19

标签: struts2 struts struts-config

我们在Web应用程序中使用Struts 2。已经定义了大量的操作映射,我想实现一个功能,其中任何Urls以 / buy 开头,而不是映射到任何现有的操作映射,例如 / buy / new 购买/旧应重定向到购买/索引操作。例如,如果有人试图去 / buy / bla1 / buy / bla2 购买/ bla1 / bla2 / bla3 应该去买/指数。

2 个答案:

答案 0 :(得分:0)

/buy包中定义以下操作:

<action name="*">
    <result type="redirectAction">index</result>
</action>

或者你可以使用:

<default-action-ref name="index" />

但是那样你就不会有重定向。相反,索引页面将显示在不存在的地址下。

您还需要在struts.properties中设置以下参数:

struts.action.extension = action,,

您可以为参数添加其他扩展名,但据我所知,所有扩展名都没有通配符。空白字符串包含 / buy / bla 等目录,但 /buy/bla.x 不会被覆盖,除非您向x添加x,否则将产生404错误扩展名列表。

如果这还不够好,您可以通过在网络服务器中使用重定向规则来解决这个问题。

答案 1 :(得分:0)

您可以使用默认操作引用并为其提供JSP成功路径。

如果收到任何不匹配的操作,它将调用给定的操作并将其转发到结果JSP页面。