您好我正在使用struts2,我在传递特定参数时遇到问题。我的控制器xml如下所示
<action name="summary/*/*" class="UserController" method="summary">
<result>/view/user/Summary.jsp</result>
<param name="type">{1}</param>
<param name="user.loginName">{2}</param>
<interceptor-ref name="caspianDefaultStack" />
</action>
如果我像summary/profile/jhon
那样传递网址它工作正常,但是当我传递网址如summary/profile/jhon.mickel
时(如果第二个参数包含&#34;。&#34;),方法摘要不会被调用为什么它表现得很奇怪,我怎么解决这个问题?
答案 0 :(得分:2)
使用正则表达式直接映射通配符映射中的参数。像这样:
<action name="summary/{type}/{user.loginName}" class="UserController" method="summary">
<result>/view/user/Summary.jsp</result>
<interceptor-ref name="caspianDefaultStack" />
</action>
如果仍然无效,请使用{FIELD_NAME:REGEX}
格式。例如,请参阅docs。