我遇到的问题是找不到以下情况的关键字:
<package name="Main" namespace="/" extends="struts-default">
<action name="administrator" class="com.xyz.AdminAction">
<result name="success">/WEB-INF/jsp/admin.jsp</result>
</action>
</package>
上面的网址应为http://xyz.com/administrator,并且可以正常运行。但是,如果我将URL更改为http://xyz.com/asdasd/asdasdasd/administrator并且仍然有效,但是我不能接受!因此,是否接受任何仅告诉Struts http://xyz.com/administrator的设置?谢谢!
最佳答案
将alwaysSelectFullNamespace
属性设置为true
。
来自struts-default.properties
:
### Whether to always select the namespace to be everything before the last slash or not
struts.mapper.alwaysSelectFullNamespace=true
首选XML配置,因此在您的
struts.xml
中:<struts>
<constant name="struts.mapper.alwaysSelectFullNamespace" value="true" />
...
关于struts2 - 如何防止Struts中的通配符命名空间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26235071/