Struts2 URL 命名参数在跳转中的问题

Struts2中,URL的命名参数会在跳转中追加到URL查询串里,连续跳转几次后,会出现像users/1?id=1&id=1&id=1&id=2这种情况,有时候会导致逻辑错误。而且Struts配置里,没有办法把这个参数去掉,所以,只能使用普通的通配模式。

1. 不论普通合名参数还是正则命名参数都不行

struts.xml
1
2
<constant name="struts.patternMatcher" value="namedVariable"/> <!--命名参数-->
<constant name="struts.patternMatcher" value="regex"/> <!--正则命名参数-->

2. 使用命名参数的例子

struts.xml
1
<action name="{id}/edit" method="edit"/>

3. 改为普通的通配模式(不使用命名参数)

struts.xml
1
2
3
<action name="*/edit" method="edit">
<param name="id">{1}</param>
</action>