同一个Web应用中有可能有同名的Action,struts2以命名空间的方式来管理action,同一个命名空间里不能由同的action,不同的命名空间里可以有同名的action。struts2 不支持为单独的action设置命名空间,而是通过为包指定namespace属性来为包下面的所有action指定共同的命名空间。
默认的命名空间总是””,当为包指定了命名空间后,该包下所有的action处理的url应该为:命名空间名+action名.
如果请求为student/list.action,系统首先查找student命名空间里名为list的action,如果在该命名空间里找到对应的action,则使用该action处理用户请求,否则,系统将到默认的命名空间里查找名为list的action,如果找到对应的action,则使用改action处理用户请求,如果两个命名空间里都找不到名为list的action,则系统出现错误.
命名空间只有一个级别,如果请求的url是/student/get/list.action,系统将先在/student/get的命名空间里查找名为list的action,如果找不到系统将直接进入默认的命名空间中查找名为list的action,而不会在get的命名空间下查找。