Java 在struts2 xml中传递特定参数时获取异常

Java 在struts2 xml中传递特定参数时获取异常,java,xml,struts2,struts,Java,Xml,Struts2,Struts,您好,我正在处理struts2,我在传递特定参数时遇到了问题。我的控制器xml如下所示 <action name="summary/*/*" class="UserController" method="summary"> <result>/view/user/Summary.jsp</result> <param name="type">{1}</param> &

您好,我正在处理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>

/view/user/Summary.jsp
{1}
{2}

如果我像
summary/profile/jhon那样传递url,它工作得很好,但是当我像
summary/profile/jhon.mickel那样传递url时(如果第二个参数包含“.”),方法summary不会被调用,为什么它会以奇怪的方式运行,我如何解决这个问题???

使用正则表达式直接映射通配符映射中的参数。大概是这样的:

<action name="summary/{type}/{user.loginName}" class="UserController" method="summary">
            <result>/view/user/Summary.jsp</result>
            <interceptor-ref name="caspianDefaultStack" />  
        </action>
例如。

这其实并不奇怪。Struts2将最后一个参数视为带有动作后缀的动作。