Struts 2 学习笔记 - 3.配置文件深入(1):struts.xml,bean,constant,package,namespace,include

来源:互联网 发布:linux刻录普通文件 编辑:程序博客网 时间:2024/06/11 06:25

1.在struts.xml文件中配置内容可以分为3类:

1)管理元素:Bean,常量,包,命名空间,包含配置;

2)用户请求处理元素:拦截器配置、Action配置、Result配置;

3)错误处理元素:异常配置;


2.Bean配置:编写自己的组件实现类来扩展或者替换框架的某一部分,使用<bean>元素来描述组件实现类。

1).实例:在struts2-core-x.x.x.jar中的struts-default.xml文件中存在大量的<bean>元素:

<struts>...    <bean class="com.opensymphony.xwork2.ObjectFactory" name="xwork" />    <bean type="com.opensymphony.xwork2.ObjectFactory" name="struts"        class="org.apache.struts2.impl.StrutsObjectFactory" />     <bean type="com.opensymphony.xwork2.FileManager"                class="com.opensymphony.xwork2.util.fs.DefaultFileManager"                 name="system" scope="singleton"/>...<struts>



2).bean元素的属性:





3.常量(constant)配置:使用<constant>在struts.xml中配置,也可以在struts.properies文件中。

1)struts2框架会以以下顺序加载常量,出现相同的值时,后边的值会覆盖前面的值。前面2个是系统自带,通常在后3个中配置:

a.struts-default.xml:在struts2-core-x.x.x.jar中;

b.struts-plugin.xml在struts2-xxx-x.x.x.jar等插件jar中;

c.struts.xml:wen应用中默认的struts2配置文件;

d.struts.properties:struts2的配置属性文件;

e.web.xml:web应用的配置文件;

2)在上面的后三者文件中配置,最好在struts.xml和struts.properties中进行配置

实例1:在struts.xml文件中,指定字符编码集为utf-8:

<constant name="struts.i18n.encoding" value="utf-8" />

实例2:在struts.properties文件中实现上述常量的配置:

struts.i18n.encoding=utf-8

实例3:在web.xml文件中指定上述常量,在<filter>元素中使用<init-param>元素:

<filter>...<init-param><param-name>struts.i18n.encoding</param-name><param-value>UTF-8</param-value></init-param>...</filter>


4.包(<package>)配置:struts2中使用包(package)来管理核心组件(Action和拦截器等)。

1)一个包中可以配置多个Action、拦截器或者拦截器引用的集合等。常量不能在package中配置。

2)<package>元素的属性:

3)实例:

<package name="testPackage" extends="struts-default"><action name="testAction" class="testAction" method="test"><result name="success" type="redirect">/index.jsp</result></action></package>


5.命名空间(namespace):如果一个Action类中有多个业务处理方法,而客户端请求需要指向不同的方法,这时就要使用namspace的方式来管理这个Action。

1)实例:

<package name="test" namespace="/tmp" extends="struts-default"><action name="helloworld" class="com.itzcn.action.HelloWorld"> <result name="success">/welcome.jsp</result></action> </package>
进行上述代码配置后,name为helloworld的Action就可以处理下面的URL请求:

http://localhost:8080/ch3/helloworld.action

http://localhost:8080/ch3/tmp/helloworld.action
在请求helloworld.action时,先在相应的命名空间中寻找指定的Action类,如果没有找到,则到默认的命名空间中寻找。如没找到则返回错误。

2)同一个命名空间中,不能包含同名的Action;不同的命名空间中,可以包含相同的Action;

6.包含配置(<include>):在struts.xml文件这,使用<include>属性来包含其他配置文件,需要放在<struts>下,<package>外。

1)实例:

<include file="struts-mobile.xml"></include>

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子叛逆期不听妈妈的话怎么办 学生和老师反嘴怎么办? 两个月的宝宝不拉屎怎么办 老师受家长的气怎么办 家长故意在班级群里气老师怎么办 幼儿园阿姨体罚孩子家长该怎么办 学生钱丢了老师怎么办 胸肌一边大一边小怎么办 被爱的人抛弃了怎么办 深蹲以后腿疼怎么办 做完蹲起大腿疼怎么办 练腿之后腿疼怎么办 深蹲做完后腿疼怎么办 做完上下蹲腿疼怎么办 钓鱼子线长了怎么办 烤箱烤红薯没有锡纸怎么办 烤箱烤羊肉串滴油怎么办 黄金虎嘴脱臼了怎么办 孕妇吃了马头鱼怎么办 慈鲷鱼生完小鱼怎么办 买的烤鱼片刺多怎么办 鸡蛋不太新鲜了怎么办 麻雀从巢里掉下来怎么办 小鱼生了鱼蛋怎么办 吃了没熟透的鱼怎么办 吃了变质的虾怎么办 吃了不新鲜的肉怎么办 吃不新鲜的虾怎么办 鸡胸肉不新鲜了怎么办 吃了不新鲜的鱼怎么办 生的猪肉有点臭怎么办? 猪肉馅不新鲜了怎么办 买的肉有点臭了怎么办 炸的东西不脆了怎么办 油炸东西回软了怎么办 吃石斑鱼蛋吐了怎么办 家里的烟筒堵了怎么办 脖子上长鸡皮肤怎么办 铁板烤蔬菜粘锅怎么办 残余尿量300ml怎么办 肌肉拉伤怎么办恢复快小腿