struts2 分模块是怎么弄的啊
在struts.xml里 
         <package name="foo" extends="struts-default">
<action name="index" class="com.hsdx.struts.IndexAction">
<result name="success">/WEB-INF/jsp/index.jsp</result>
</action>
</package>
package标签里的name属性代表的什么  为什么我访问的时候  写不写foo都一个样啊 或者 换成别的也可以访问
为什么啊

解决方案 »

  1.   

    package标签里的name属性,当定义多个package的时候作为标志区别而已,只有一个的时候,写不写无所谓
      

  2.   

      package包的名称,其里边的属性都属于这个包,其它包可以继承,如同一个类名一样
      

  3.   

    模块之间有继承关系时有用。比如说:
    <package name="a" ....></package>
    假如a模块里有你自定义了一些有用的东西,比如说拦截器,全局result...
    现在另一个模块想引用a模块里的自定义的东西,那么可以这样写:
    <package name="b" extends="a"></package>
    这就是name的意义所在!
     
      

  4.   

    如果我写两个package  name不一样  但是action路径一样  
    <package name="foo" extends="struts-default">
    <action name="index" class="com.hsdx.struts.IndexAction">
    <result name="success">/WEB-INF/jsp/index001.jsp</result>
    </action>
    </package>
    <package name="fee" extends="struts-default">
    <action name="index" class="com.hsdx.struts.IndexAction">
    <result name="success">/WEB-INF/jsp/index002.jsp</result>
    </action>
    </package>
    像这样  我的第一个package似乎就没用了
      

  5.   

    我晕,你这样配置明显存在问题,package name="foo"和package name="fee"里面的action访问路径当然不能一样啦
      

  6.   

    那我应该怎么分模块啊  比如我要分foo 和fee两个模块  应该怎么写啊  谢谢啦
      

  7.   

    分模块的话还是按刚才那样分啊
    只不过你两个package里的东西不能一样啊。
      

  8.   

    name属性只是区别不同的package的。在packeage里还有一个属性是namespace,这个才是用来区分不同域。
      

  9.   

    应该这么改:
    <package name="foo" extends="struts-default" namespace="/foo"> 
    <package name="fee" extends="struts-default" namespace="/fee"> 
    要访问foo下面的action,需要这么写/foo/xxx.action
    要访问fee下面的action,需要这么写/fee/xxx.action
      

  10.   

    package name是可以写也可以不写。如果写了就是未了其他包继承,就向继承struts.default一样。
      

  11.   

    谢谢大家的帮助  谢谢dring321  大牛人  呵呵