我们在Web应用程序中使用Struts 2。已经定义了许多动作映射,我想实现一个功能,其中任何以/ buy开头但未映射到任何现有动作映射(例如/ buy / new或buy / old)的Urls都应重定向到Buy / index动作。例如,如果有人尝试去/ buy / bla1或/ buy / bla2或buy / bla1 / bla2 / bla3应该去购买/索引。
在/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不会被涵盖,并且会产生404错误,除非您将x添加到扩展名列表中。
如果这还不够好,您最好通过使用Web服务器中的重定向规则来解决此问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句