struts2除了自身提供的类型转换以为,还允许自定义类型转换器,首先表单中的name属性必须和action中的属性同名,然后编写自定义的TypeConverter,可以实现TypeConverter接口,也可以继承DefaultTypeConverter来实现,最简单的是继承StrutsTypeConverter。不过前者比较复杂,后者比较方便。完成类型转换器以后,再将类型转换器注册,这样就能使用了,注册的时候,可以注册为局部类型转换器和全局类型转换器。
public class DateConverter extends StrutsTypeConverter { private static final String FROMDATE = "yyyy-MM-dd"; private static final String FROMDATETIME = "yyyy-MM-dd HH:mm:ss"; @Override public Object convertFromString(Map context, String[] values, Class toClass) { if (values == null || values.length == 0) { return null; } SimpleDateFormat sdf = new SimpleDateFormat(FROMDATETIME); Date date = null; String dateString = values[0]; if (dateString != null && !dateString.trim().equals("") && !dateString.trim().equals("null")) { try { date = sdf.parse(dateString); } catch (ParseException e) { date = null; } if (date == null) { sdf = new SimpleDateFormat(FROMDATE); try { date = sdf.parse(dateString); } catch (ParseException e) { date = null; } } } return date; } @Override public String convertToString(Map context, Object o) { if (o instanceof Date) { SimpleDateFormat sdf = new SimpleDateFormat(FROMDATETIME); return sdf.format(o); } return ""; } }
java.util.Date=com.iebc.utils.DateConverter
相关推荐
source 博文链接:https://callan.iteye.com/blog/185211
Struts2转换器、拦截器、验证以及国际化
NULL 博文链接:https://cdxs2.iteye.com/blog/1931878
使用struts2提供的转化器,实现Date类型的数据转换
struts日期转换器。页面时间提交到action里自动转换格式,不转换会报错。呵呵,提供给各位大虾参考
这是一个struts2的类型转换器的案例,主要是写的如果将一个20110202这种类型的日期格式进行转换!
Struts 自定义转换器Struts 自定义转换器
editor(通用所有文本编辑器) struts2图片上传问题解决办法
对于Struts1和Struts2中都讲到了自定义类型转换器。但是有些人可能对自定义类型转换器的运行原理不理解,这里进行简单介绍一下……
自定义的struts时间转换器,轻松实现java中时间的转换。
这是一个讲解struts2框架转换器的ppt,在这个ppt中你可以学到strutsDefaultConversion转换器的前世今生,而已免积分哦!,附带有例子。
传智播客struts2.1源代码_自定义类型转换器
配合博文:http://blog.csdn.net/u011638419/article/details/41276445
对于基本数据类型 strus2可以自动的将其转换成所需要的类型,但是我们自己定义的引用数据类型无法转换,本文详细介绍了strus2的自定义类型转换器
NULL 博文链接:https://hanazawakana.iteye.com/blog/1681564
这是一个关于struts2的类型转换 以及 拦截器 还有校验的例子
Struts2的转换器与验证框架