天天看点

3.1.struts.xml中package的namespace属性

 struts.xml文件中package标签除了有name、extends属性外,还有一个十分重要的属性:namespace。如下:

<struts>

    <package name=”struts2” extends=”struts-default” namespace=”/abc”>

     <!– 用户登录Action –>

     <action name=”login” class=”com.cheng.sln.mvc.struts2.action.LoginAction”>

      <result name=”success”>/jsp/struts2/result.jsp</result>

      <result name=”input”>/jsp/struts2/login2.jsp</result>

     </action>

    </package>

</struts>

该属性默认为namespace=”“,所以在访问该Action时,直接http://localhost:8080/应用名称/login.action就可以请求到该Action。

当namespace=”/abc”时,再访问该Action时,其URL应为:http://localhost:8080/应用名称/abc/login.action。

这样在大型项目中有很多个Action时容易分类区分。

问题:如果namespace=”“,此时用http://localhost:8080/应用名称/abc/login.action访问该

Action,会不会成功?

答案是:会。因为当程序找不到相应的namespace时,它会自动去默认的namespace中去找Action。