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>元素来描述组件实现类。
3.常量(constant)配置:使用<constant>在struts.xml中配置,也可以在struts.properies文件中。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元素的属性:
1)struts2框架会以以下顺序加载常量,出现相同的值时,后边的值会覆盖前面的值。前面2个是系统自带,通常在后3个中配置:
2)在上面的后三者文件中配置,最好在struts.xml和struts.properties中进行配置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应用的配置文件;
实例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>
- Struts 2 学习笔记 - 3.配置文件深入(1):struts.xml,bean,constant,package,namespace,include
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- struts.xml配置文件(package,namespace,action)
- he content of element type "struts" must match "((package|include|bean|constant)*,unknown-handler-stack?)".解决方法
- The content of element type "struts" must match "((package|include|bean|constant)*,unknown-handler-s
- Android xml解析
- 买房的都是猪?还是是猪也是狼呢?
- 东施效颦
- VS2010经常崩溃 打开编辑代码就卡死 重启 vs无法加载uiautomationcore.dll
- .NET错误:Compiler Error Message: CS0016拒绝访问
- Struts 2 学习笔记 - 3.配置文件深入(1):struts.xml,bean,constant,package,namespace,include
- 蓝海
- error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
- Ubuntu下桌面日历Rainlendar
- 排序---->插入排序
- Git 常用命令
- 反射机制简单解析
- [iOS]深入浅出 iOS 之多线程 NSThread (转)
- c 中字符串 的相关操作