我使用Struts2框架进行webapp开发。在我遇到的每个教程中,我都看到所有命名空间都以正斜杠/
开头。即使是基本的"默认" namespace具有名称空间"/"
,而不是空字符串""
或字符串"default"
。这是为什么?是否可以只使用斜杠命名命名空间?
看起来它不能,因为如果我将命名空间从"/"
更改为"something else"
,我就会收到错误,无法再找到操作:
Struts问题报告
Struts检测到未处理的异常:
消息:没有映射名称空间[/]和操作名称的Action []与上下文路径[/ TestStruts]相关联。
答案 0 :(得分:0)
slash
对命名空间很重要,因为操作映射器可以使用最后一个斜杠从URL中提取命名空间和操作名称。
请注意,如果在操作名称中使用斜杠并且始终选择完整命名空间,则算法可能会更改。
但是你可以使用没有namespace属性的包声明。在这种情况下,该包中的所有操作都属于“默认”命名空间。