Struts2配置文件中package属性namespace能否省略的问题

在Myeclipse8.5中新建了一个测试项目,本来是想测试result-type  chain的使用结果,结果就是报错:


警告: Could not find action or result
No result defined for action com.struts2.Action2 and result success

仔细检查配置文件,

<struts>
    <package name="default"  extends="struts-default" >
        <action name="action0" >
            <result type="chain">action2</result>
        </action>
           <action name="action2" class="com.struts2.Action2">
               <result name="success">/reg_success.jsp</result>
               <result name="input">/reg.jsp</result>
           </action>
    </package>
</struts>  


没有写错,后经同学帮忙,发现没有在  <package name="default"  extends="struts-default" >配置namespace属性,于是写上之后就对了。

但是namespace决定了action的访问路径,默认为“”,可以接受所有路径的action。这么说来,

namespace是可以省略不写的,但是这里为什么会出错呢?!

经测试发现,原来建项目时,我用MyEclipse8.5自带的Struts2的核心libraries。把它换成自己建的Struts2所必需的Jar库,再运行就没有错了。

具体原因是MyEclipse8.5自带的Struts2的核心libraries不支持省略namespace,这时记得加上namespace即可。

第一次发blog,高兴下!!呵呵~大笑


补充说明:Namespace详解:
a)namespace决定action的访问路径,默认为“”,可以接受所有路径的Action;
b)namespace可以写为/,或者/xxx,或者/xxx/yyy,对应action访问路径为/index.action,/xxx/index.action或者/xxx/yyy/index.action
c)namespace最好也用模块来进行命名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值