本文源代码下载地址:
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类.
评论加载中...- 2009-3-26Struts2输入校验流程
- 2009-3-26struts2标签页面显示的控制
- 2009-3-26用hibernate查询一段时间的记录
- 2009-3-26LightURL——打造零配置的Struts2开发方式
- 2009-3-26Struts2配置详解
- 2009-3-26标签库,永恒的争论话题
- 2009-3-26Result机制,让视图更丰富
- 2009-3-26拦截器详解
- 2009-3-26MVC框架的困惑
- 2009-3-26Struts2的学习途径
