/*
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>
包的概念
在struts2框架中使用包来管理Action,包的作用和java中的类包时非常相似的
它主要用于管理一组业务功能相似的Action,在实际应用中,我们应该将一组业务功能相似的
Action放在同一个包下。
配置包时必须指定name属性,该name属性可以取任意名,当必须唯一,它不对应
java的类包,如果其他包要继承该包,必须通过该属性进行引用。命名空间
包的namepace属性用于定义包的命名空间,命名空间作为访问该包下的Action的一部分,
如要访问上面的例子的Action,访问路径为:/test/helloworld.action
namespace属性可以不配置,对本例而言,如果不指定该属性,默认的命名空间为“”(空字符串)默认继承
通常每一个包都应该继承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
部分截图如下:
如果将一个包定义成为abstract=“true” 那么抽象包中不能包含action,该包只能被继承
包中action的解释:
包中action的名称name作为访问action的一部分。
class:当请求到来时交给哪个action进行处理
method:是action的哪个方法进行处理
<result> 请求之后的转发路径