1. 包配置
Struts2框架中核心组件就是Act
在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置。它的常用属性有:
l name:必填,用来指定包的名字,必须以"/"开头,这时JSP中的act
l extends:可选,用来指定该包继承其他包。继承其它包,可以继承其它包中的Act
l namespace:可选,用来指定该包的命名空间。
<struts>
<!-- struts2的act <package name="default" extends="struts-default"> <!-- 定义处理请求URL为login.act <act <!-- 定义处理结果字符串和资源之间的映射关系 --> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> </act </package> </struts> |
2.命名空间配置
Struts2以命名空间的方式来管理Act
Struts2通过为包指定namespace属性来为包下面的所有Act
<package name="struts2" extends="struts-default"> <package name="my" extends="struts-default" namespace="/manage"> |
对于包struts2:没有指定namespace属性。如果某个包没有指定namespace属性,即该包使用默认的命名空间,默认的命名空间总是""。
对于包my:指定了命名空间/manage,则该包下所有的Act
struts2先在指定的路径下找act
3.包含配置
在Struts2中可以将一个配置文件分解成多个配置文件,那么我们必须在struts.xml中包含其他配置文件(注,所有的.xml文件也要包含DTD等的声明)。
<struts> <include file="struts-default.xml"/> <include file="struts-user.xml"/> <include file="struts-book.xml"/> ...... </struts> |
4.extends配置
通常每个包都应该继承struts-default包,因为struts2很多核心功能都是拦截来实现的,如,从请求中把请求参数封闭到action,文件上传和数据验证等都是通过拦截器实现的,struts-default定义了这些拦截器和Result类型,可以这么说,当包继承了struts-default才能使用struts2提供的核心功能,struts-default包是在struts2-core-2.xx.jar文件中的struts-defalut.xml中定义,struts-default.xml也是struts2默认配置文件,struts2每次都会自动加载struts-default.xml文件.