Struts2 之ACTION的namespace

 

struts2的命名空间分为两类:


1)默认命名空间

在struts2中的struts.xml中有package的namespace属性如果此属性为""或者不填写则标识默认命名空间

如:<package name="index" extends="struts-default">

请求路径先从制定命名空间开始匹配执行,如果匹配不到则从默认命名空间开始匹配执行。


2)制定命名空间

在struts2中的struts.xml中有package的namespace属性为"/"或者"/***"则标识制定命名空间

前者的URL访问是根目录访问,后者是根目录/namespace访问。


请求路径先从制定命名空间开始匹配执行,如果匹配到则执行否则执行默认命名空间。如果都执行不到则报告错误信息。



默认命名空间和命名空间的区别:

 默认命名空间里的ACTION可以处理任何命名空间的ACTION请求。

 根命名空间智能处理根命名空间下的ACTION请求。


命名空间只有一个级别。描述为:如果请求URL为:http://local.struts2.com:8080/test/namespace/login.action

struts2先从/test/namespace的命名空间中查找login的ACTION,如果找到该命名空间的ACTION则处理此action的请求。否则,struts2将直接进入默认的命名空间查找名为login的action,而不会在/test的命名空间下面查找login的ACTION

你可能感兴趣的:(namespace)