[搬家文]struts2主要的配置文件提要[2]
2008-08-13 20:06
253 查看
struts.properties 放在src下 可免,通过struts.xml里面的constant元素配置
l 一些常用的属性:
struts.custom.properties :用户自定义属性文件,多个用逗号隔开
struts.devMode:是否处于开发模式,开发阶段可设true。
struts.i18n.reload:每次请求到达重新加载资源文件,开发阶段设true。
struts.ui.theme: 默认视图主题,默认为xhtml
struts.configuration.xml.reload :指定struts.xml改变后自动重新加载。默认false。
struts.custom.i18n.resources:指定struts2国际化资源文件。
struts.configuration.files:指定struts2默认加载的配置文件,该属性默认值为struts-default.xml,struts-plugin.xml,struts.xml
messageResource_language_COUNTRY.properties 与action同目录 本地化信息配置文件
XXXAcion-conversion.properties 与action同目录 局部类型转换器配置
aaaa(action中的属性名) = package.xxxconverter
xwork-conversion.properties src文件夹下 全局类型转换器配置
ttt(类型) = package.xxxConvertor
Element_xxx=xxxType 对于没有泛型支持的list,collection
actionname-validation.xml 和action同目录 action对应的验证配置,actionname 为action的类名
xwork-validation.xml 放在src下 全局验证
关于验证有一点需留意,默认拦截器栈, conversionError拦截器配置都在validation拦截器之前。所以,在进行验证之前,conversionError拦截器会先调用转换器对页面上的属性进行转换,若转换器中抛出错误,会通过conversionError拦截器直接把错误信息返回页面,所以也不会经过validation了。这样一来,validation配置里面的友好的提示信息就换成了异常里面编程人员才看得懂的message了,对于用户而言不太好。
实际上validation拦截器所做的是服务器端验证,它只对action里面的属性定义的类型起作用,比如在action中某属性attrib1是 int型的,那么像正则表达式之类针对string的验证器就不会起作用,这和客户端验证不同之处在于,客户端验证把所有类型的输入都看作string.
所以,页面输入的验证,现在可以有3道。
l 第一道是仍然基于javascript的客户端验证
这一道其实也可以通过转换器来识别,转换器最先读入时,仍然是String型,因此可以在转换过程中对格式进行验证。
l 第二道是转换器转换时的验证(其实是抛出转换异常,也可以当作输入格式上的验证)
这一道,默认的输出message比较不友好,不过可以通过在messageResource资源文件中配置这两个键值加入自己的信息:
1. Xwork.default.invalid.fieldvalue 默认类型转换失败信息
2. Xwork.fieldvalue.属性名 指定属性名的类型转换失败信息。
l 第三道是validation配置文件配置的服务器端验证。
这些验证类型名可以通过看xwork-x-x.jar中com.opensymphony.xwork2.validator.validators包内的default.xml看到
还是得强调下,服务器端验证主要关注的不是参数的格式,而是参数的实际内容,服务器端验证格式反而很不方便。
l 一些常用的属性:
struts.custom.properties :用户自定义属性文件,多个用逗号隔开
struts.devMode:是否处于开发模式,开发阶段可设true。
struts.i18n.reload:每次请求到达重新加载资源文件,开发阶段设true。
struts.ui.theme: 默认视图主题,默认为xhtml
struts.configuration.xml.reload :指定struts.xml改变后自动重新加载。默认false。
struts.custom.i18n.resources:指定struts2国际化资源文件。
struts.configuration.files:指定struts2默认加载的配置文件,该属性默认值为struts-default.xml,struts-plugin.xml,struts.xml
messageResource_language_COUNTRY.properties 与action同目录 本地化信息配置文件
XXXAcion-conversion.properties 与action同目录 局部类型转换器配置
aaaa(action中的属性名) = package.xxxconverter
xwork-conversion.properties src文件夹下 全局类型转换器配置
ttt(类型) = package.xxxConvertor
Element_xxx=xxxType 对于没有泛型支持的list,collection
actionname-validation.xml 和action同目录 action对应的验证配置,actionname 为action的类名
xwork-validation.xml 放在src下 全局验证
关于验证有一点需留意,默认拦截器栈, conversionError拦截器配置都在validation拦截器之前。所以,在进行验证之前,conversionError拦截器会先调用转换器对页面上的属性进行转换,若转换器中抛出错误,会通过conversionError拦截器直接把错误信息返回页面,所以也不会经过validation了。这样一来,validation配置里面的友好的提示信息就换成了异常里面编程人员才看得懂的message了,对于用户而言不太好。
实际上validation拦截器所做的是服务器端验证,它只对action里面的属性定义的类型起作用,比如在action中某属性attrib1是 int型的,那么像正则表达式之类针对string的验证器就不会起作用,这和客户端验证不同之处在于,客户端验证把所有类型的输入都看作string.
所以,页面输入的验证,现在可以有3道。
l 第一道是仍然基于javascript的客户端验证
这一道其实也可以通过转换器来识别,转换器最先读入时,仍然是String型,因此可以在转换过程中对格式进行验证。
l 第二道是转换器转换时的验证(其实是抛出转换异常,也可以当作输入格式上的验证)
这一道,默认的输出message比较不友好,不过可以通过在messageResource资源文件中配置这两个键值加入自己的信息:
1. Xwork.default.invalid.fieldvalue 默认类型转换失败信息
2. Xwork.fieldvalue.属性名 指定属性名的类型转换失败信息。
l 第三道是validation配置文件配置的服务器端验证。
这些验证类型名可以通过看xwork-x-x.jar中com.opensymphony.xwork2.validator.validators包内的default.xml看到
还是得强调下,服务器端验证主要关注的不是参数的格式,而是参数的实际内容,服务器端验证格式反而很不方便。
相关文章推荐
- [搬家文]struts2主要的配置文件提要[Struts.xml]
- struts2中几个主要的配置文件说明
- S3.1_Struts2_BasicConfiguration struts2主要配置文件和常用配置还有中文乱码问题以及简单验证
- struts2主要配置文件
- struts2 lesson two 主要配置文件,及简单验证,Tomcat中的乱码,default-action-ref
- Struts2_配置文件
- Struts2配置文件详解
- Struts2中上传文件配置信息
- 如何在struts2配置文件xml的…
- 关于MyEclipse对Struts2配置文件较检异常 Invalid result location value/parameter
- Struts2_配置包范围国际化资源文件
- struts2的struts.properties配置文件详解
- struts2 配置文件详解
- struts2之Action配置的各项默认值、Action跳转、result配置的各种试图类型及多个struts配置文件
- apache主要的配置文件
- Struts2配置文件加载顺序
- Apache httpd.conf配置文件主要内容解释
- struts2路径,常量,等一些xml配置文件
- struts2配置包范围的国际化资源文件
- struts2配置Action范围的国际化资源文件