Struts2类型转换(一)----常规类型,自定义类型,错误处理
中国IT站 www.chinaitz.com 2009-3-20

  本文源代码下载地址:

  http://flashview.ddvip.com/2009_03/struts2.rar

  Struts2的类型转换是基于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类.

共5篇1 2 3 4 5 下一页
责任编辑:admin本文仅代表作者观点,与中国IT站立场无关。
收藏】 【推荐】 【投稿】 【 】 【打印】 【关闭
评论加载中...