struts.xml配置文件中的包,命名空间,默认继承的介绍

/*
struts.xml配置文件中的包的介绍

<package name="itcast" namespace="/test" extends="struts-default">
    <action name="helloworld" class="cn.it.action.HelloWorldAction" method="execute"
        <result name="success">/WEB-INF/page/hello.jsp</result>
    </action>
</package>
  1. 包的概念
            在struts2框架中使用包来管理Action,包的作用和java中的类包时非常相似的
    它主要用于管理一组业务功能相似的Action,在实际应用中,我们应该将一组业务功能相似的
    Action放在同一个包下。
            配置包时必须指定name属性,该name属性可以取任意名,当必须唯一,它不对应
    java的类包,如果其他包要继承该包,必须通过该属性进行引用。

  2. 命名空间
            包的namepace属性用于定义包的命名空间,命名空间作为访问该包下的Action的一部分,
    如要访问上面的例子的Action,访问路径为:/test/helloworld.action
    namespace属性可以不配置,对本例而言,如果不指定该属性,默认的命名空间为“”(空字符串)


  3. 默认继承
            通常每一个包都应该继承struts-default包,因为struts2的很多核心功能都是拦截器来实现的,如:
    从请求中把请求参数封装到action中,文件上传和数据验证等都是通过拦截器实现的。struts-default定义了
    这些拦截器和Result类型,可以这么说,当包继承了struts-default时才能使用struts2的核心功能
    ,struts-default包是在
    struts2-core-2.x.x.jar文件中的struts-default.xml文件中配置的。struts-default.xml是struts2的默认配置文件,struts2每次
    都会自动加载struts-default.xml该配置文件。

    参见:struts-defult.xml
    部分截图如下:

    struts.xml配置文件中的包,命名空间,默认继承的介绍_第1张图片

    如果将一个包定义成为abstract=“true” 那么抽象包中不能包含action,该包只能被继承



    包中action的解释:
    包中action的名称name作为访问action的一部分。
    class:当请求到来时交给哪个action进行处理
    method:是action的哪个方法进行处理

    <result> 请求之后的转发路径







你可能感兴趣的:(struts.xml配置文件中的包,命名空间,默认继承的介绍)