struts的package的name与namespace

<struts>

    <constant name="struts.devMode" value="true"></constant>
<package name="default" namespace="/" extends="struts-default">
<action name="hello_action" class="strurts.HelloAction" method="execute">
<result name="success">/jsp/success.jsp</result>
</action>
</package> <package name="mydefault" namespace="/" extends="struts-default">
<action name="hello_action" class="strurts.HelloAction" method="execute">
<result name="success">/success.jsp</result>
</action>
</package> <package name="test02" namespace="/lee" extends="struts-default">
<action name="hello_action" class="strurts.HelloAction" method="execute">
<result name="success">/jsp/test02.jsp</result>
</action>
</package> <package name="test01" namespace="/lee" extends="struts-default">
<action name="hello_action" class="strurts.HelloAction" method="execute">
<result name="success">/jsp/test01.jsp</result>
</action>
</package> </struts>

1.namespace="lee"---test01与test02对比

test01是后加载的,会覆盖test02中的action

http://localhost:8080/strurts/lee/test02/hello_action.action
http://localhost:8080/strurts/lee/test01/hello_action.action

都会访问test01中的action

2.同namespace下的同名package,会在struts.xml中,后加载的有效 如:test01是后加载的,会覆盖test02中的action
即便修改包名,只要action的名字一样,后加载有效,包名怎么改都没用
推论
struts通过namespace来区分同名的action,不是package-name
action同名的时候,按加载顺序,后加载生效!!

<package>

name   是action的存放路径 

namespace 是action的访问路径

上一篇:Day4 闭包、装饰器decorator、迭代器与生成器、面向过程编程、三元表达式、列表解析与生成器表达式、序列化与反序列化


下一篇:基于Hadoop生态技术构建阿里搜索离线系统