Struts2的配置文件的详细说明.doc
文本预览下载声明
深入Struts2的配置文件
!—Struts2框架的核心组件就是Action、拦截器等,struts2使用package来管理Action和拦截器等。包内多个action组织为一个模块。
package可以扩展,当一个package扩展自另一个package时,该package会在本身配置的基础上加入扩展的package的配置。父package必须在子package前配置。
name:package名称,唯一,必填属性;
extends:继承的父package名称;
namespace:定义package命名空间;该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/xx.action
--
本部分主要介绍struts.xml的常用配置。
1.1.??? 包配置:
Struts2框架中核心组件就是Action、拦截器等,Struts2框架使用包来管理Action和拦截器等。每个包就是多个Action、多个拦截器、多个拦截器引用的集合。
在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置。它的常用属性有:
l?name:必填属性,用来指定包的名字。
l?extends:可选属性,用来指定该包继承其他包。继承其它包,可以继承其它包中的Action定义、拦截器定义等。
l?namespace:可选属性,用来指定该包的命名空间。
!DOCTYPE struts PUBLIC
??????? -//Apache Software Foundation//DTD Struts Configuration 2.0//EN
??????? /dtds/struts-2.0.dtd
struts
??? !-- struts2的action必须放在一个指定的包空间下定义 --
??? package name=default extends=struts-default
??? !-- 定义处理请求URL为login.action的Action --
??????? action name=login class=org.qiujy.web.struts.action.LoginAction
??????? !-- 定义处理结果字符串和资源之间的映射关系 --
??????????? result name=success/success.jsp/result
??????????? result name=error/error.jsp/result
??????? /action
??? /package
/struts
如上示例的配置,配置了一个名为default的包,该包下定义了一个Action。
1.2.??? 命名空间配置:
考虑到同一个Web应用中需要同名的Action,Struts2以命名空间的方式来管理Action,同一个命名空间不能有同名的Action。
Struts2通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间。
把上示例的配置改为如下形式:
!DOCTYPE struts PUBLIC
??????? -//Apache Software Foundation//DTD Struts Configuration 2.0//EN
??????? /dtds/struts-2.0.dtd
struts
??? !-- struts2的action必须放在一个指定的包空间下定义 --
??? package name=qiujy extends=struts-default
??? !-- 定义处理请求URL为login.action的Action --
??????? action name=login class=org.qiujy.web.struts2.action.LoginAction
??????? !-- 定义处理结果字符串和资源之间的映射关系 --
??????????? result name=success/success.jsp/result
??????????? result name=error/error.jsp/result
??????? /action
??? /package
???
??? package name=my extends=struts-default namespace=/manage
??? !-- 定义处理请求URL为login.action的Action --
??????? action name=backLogin class=org.qiujy.web.struts2.action
显示全部