1

嗨,我正在研究 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>

如果我像这样传递 urlsummary/profile/jhon它工作正常但是当我像传递 url 一样summary/profile/jhon.mickel(如果第二个参数包含“。”)方法摘要不被称为为什么它的行为方式很奇怪,我该如何解决这个问题?

4

1 回答 1

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}格式。例如,请参阅文档

于 2013-11-07T04:38:10.767 回答