11.4 类型转换器引用方式
11.4.1全局级类型转换器引用
在上一节中,使用的就是全局级类型转换器引用。简单回顾一下,在src下建立一个xwork-conversion.properties文件,这个文件中用“全类名=这个类对应的类型转换器全类名”,来建立类和类型转换器的关系。示例:
java代码:
- cn.javass.convert.Rectangle = cn.javass.convert.RectangleConverter
这样注册后,整个项目的Rectangle类都会使用RectangleConverter自定义类型转换器来处理。
11.4.2类级类型转换器引用
还有更灵活的做法,可以在Action类上注册它的某个属性使用哪个类型转换器。
维持RectangleConverter自定义类型转换器的写法不变,现在删掉xwork-conversion.properties文件,以保证只有类级类型转换器起作用。
在使用了RectangleConverter的Action同包下建立一个Action名-conversion.properties的文件,里面用“属性名=属性引用的类型转换器”的形式,来指定属性和它引用的类型转换器,对于上面的示例来说,在ConverterAction-conversion.properties只需要一行:
java代码:
- rectangle=cn.javass.convert.RectangleConverter
再次测试运行一下,可以看到,仍然会引用我们自定义的类型转换器。
当然,在使用类级类型转换器引用的时候,只对这个文件名指定的Action有效,对其他Action无效。
另外一个重要的点就是:类级类型转换器的引用会覆盖全局级类型转换器的引用。
私塾在线网站原创《研磨struts2》系列
转自请注明出处:【http://sishuok.com/forum/blogPost/list/0/4101.html】
欢迎访问http://sishuok.com获取更多内容