在 struts 2 中的请求 url 路径中传递电子邮件时出错

Error while passing email in request url path in struts 2

我想在我的请求 url 路径中传递电子邮件,如

http://myurl/user@email.com/

目前,这是我的 struts.xml :

<action name="{param1}/{param2}/" class="myActionClass">  
<result name="success">MyView.jsp</result>  
</action>  

当我发送请求时(如上面的 url),我收到 struts 错误提示:

There is no Action mapped for action name index. - [unknown location]

我发现这里的问题是在 url 路径中使用了 '@' 字符。如何让我的 url 工作?

您应该会在日志中看到如下内容

user@email.com did not match allowed action names [a-zA-Z0-9._!/-]* - default action index will be used!".

这意味着 @ 不允许出现在动作名称和默认动作中,默认情况下将使用 "index" 代替。 您可以使用 struts.allowed.action.names 常量更改允许的操作名称模式,使用 struts.default.action.name.

更改默认操作名称