Struts2名称空间必须以正斜杠开头吗?

时间:2014-12-05 14:17:25

标签: java struts2 namespaces action-mapping

我使用Struts2框架进行webapp开发。在我遇到的每个教程中,我都看到所有命名空间都以正斜杠/开头。即使是基本的"默认" namespace具有名称空间"/",而不是空字符串""或字符串"default"。这是为什么?是否可以只使用斜杠命名命名空间?

看起来它不能,因为如果我将命名空间从"/"更改为"something else",我就会收到错误,无法再找到操作:

  

Struts问题报告

     

Struts检测到未处理的异常:

     

消息:没有映射名称空间[/]和操作名称的Action   []与上下文路径[/ TestStruts]相关联。

1 个答案:

答案 0 :(得分:0)

slash对命名空间很重要,因为操作映射器可以使用最后一个斜杠从URL中提取命名空间和操作名称。

请注意,如果在操作名称中使用斜杠并且始终选择完整命名空间,则算法可能会更改。

但是你可以使用没有namespace属性的包声明。在这种情况下,该包中的所有操作都属于“默认”命名空间。