浏览 3387 次
锁定老帖子 主题:分享一个struts2日期转换器的代码
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-03
最后修改:2009-12-03
struts的日期转换器对不同电脑会作出不同的转换,在开发人员电脑上没有问题,但到了部署服务器上却总是报类型无法转换的错误。 网上找了很多资料都没有适合自己的日期转换器。 只能自己参考着写一个了。 了解了struts2转换器的原理后其实也不难。 下面分享下,一个转换没有时分秒日期,和有时分秒日期两种类型的日期转换器代码。 package com.iemis.dye.conver; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import org.apache.struts2.util.StrutsTypeConverter; public class DateConverter extends StrutsTypeConverter { private static final String FORMATDATE = "yyyy-MM-dd"; private static final String FORMATTIME = "yyyy-MM-dd HH:mm:ss"; @SuppressWarnings("unchecked") @Override public Object convertFromString(Map context, String[] values, Class toClass) { if (values == null || values.length == 0) { return null; } //有时分秒的要先转换 SimpleDateFormat sdf = new SimpleDateFormat(FORMATTIME); Date date = null; String dateString = values[0]; if (dateString != null) { try { date = sdf.parse(dateString); } catch (ParseException e) { date = null; } if(date == null) { sdf = new SimpleDateFormat(FORMATDATE); try { date = sdf.parse(dateString); } catch (ParseException e) { date = null; } } } return date; } @SuppressWarnings("unchecked") @Override public String convertToString(Map context, Object o) { if (o instanceof Date) { SimpleDateFormat sdf = new SimpleDateFormat(FORMATTIME); return sdf.format((Date)o); } return ""; } }
xwork-conversion.properties 中加入java.util.Date=com.iemis.dye.conver.DateConverter 特别提醒:java.util.Date要写全名,有很多人可能容易写成java.lang.Date
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |