Struts2类型转换(一) 常规类型,自定义类型,错误处理 - 编程入门网
Struts2类型转换(一) 常规类型,自定义类型,错误处理时间:2010-01-06 javaeye elf8848Struts2的类型转换是基于OGNL表达式的.有良好的扩展性. WEB应用接收到表单提交的数据都 是String类型的,Struts2可方便的转换为 常规类型(数值,日期)/ 自定义类型(User,Point类). 如果转换中出现异常,conversionError拦截器会自动处理该异常. 一, 常规类型的转换: 比如表单提交的信息有 用户名,生日, 年龄, Action中对应的数据类型分别是 String, Date, int.没什么好说的, Struts2会自动完成. Struts2内建了常用的类型转换器,如String,boolean,char,int,long,float,double,Date, 数组(假定元素是String类型), 集合(假定元素是String 类型,用ArrayList封装) 二,自定义类型的转换(方法一): 这种方法用用来转换复杂对象 ONGL项目中有一个TypeConverter接口,是实现转换器必须实现的接口,这个接口有点复杂,所以OGNL还 提供了该街接口的一个实现类ognl.DefaultTypeConverter,通过继承该类重写convertValue方法,实 现自定义类型的转换. 方法是这样的convertValue(final Map context, final Object value, final Class toType) 第一个参数:context 是类型转换环境的上下文 第二个参数 : value 是须要转换的参数,方向不同,value的类型也是不同的. 第三个参数 : toType是转换后的 目标类型, 返回值是 : 转换后的目标类型, 方向不同,类型也是不同的. Struts2自己有一 个抽象类继承自 DefaultTypeConverter类,是StrutsTypeConverter.就是转换的两个分别对应两个抽象 方法, 其实都一样,换汤不换药,百变不离其中.所以我们也可以继承 StrutsTypeConverter类. 下 面做一个自定义类型转换的实例: 1.表单是这样的: 输入一个用 豆号分隔的两 个数字, 代表一个坐标点的X,Y值. 2.Point 对象如下,用来封装表单信息. Java代码
Java代码
Struts2类型转换(一) 常规类型,自定义类型,错误处理(2)时间:2010-01-06 javaeye elf88483.实现自定义类型转换器,我们自己写一个转换类PointConverter Java代码
4.把上面的类型转换器PointConverter注册在struts2应用中,Struts2框架才可以正常 使用该 转换器. 有3种方法,任选其中一种就行. 1)注册局部类型转换器,假定请求 的LoginAction 来处理 ,我们就要篇写LoginAction-conversion.properties文件.本文件要与 LoginAction.java放再同一文件夹 Properties代码 #本文件名 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |