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的访问路径

转载于:https://www.cnblogs.com/leejilin/p/6850295.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值