我正在尝试在 Struts 2 动作名称中启用斜杠。我把它放在我的配置文件中:
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.action.extension" value=","/>
<constant name="struts.multipart.maxSize" value="2147483648" />
<constant name="struts.enable.SlashesInActionNames" value="true"/>
<package name="myApp" extends="struts-default">
<action name="home" class="net.myapp.actions.HomeAction" method="execute">
<result name="landing">/landing.jsp</result>
</action>
<action name="/ajax/foo" class="net.myApp.actions.ajax.FooAction" method="execute">
<result name="success">/foo.jsp</result>
</action>
</package>
</struts>
例如,当我转到此应用程序的主页时http://localhost:8034/myApp
,我正确地看到了主页。但是如果我访问http://localhost:8034/myApp/ajax/foo
,我会得到错误:There is no Action mapped for action name ajax/foo.
即使我在上面将其描述为第二个动作。
我究竟做错了什么?