日期格式处理问题
2018-02-07 10:57
169 查看
在使用ssm框架的时候。我们往往需要在控制层controller向视图层jsp传递数据。
在后台管理系统中我们最多使用json传递数据。此时我们肯定会遇到一些关于格式转换的问题:
例如日期的处理:
向上:向视图层传递数据时。我们需要事先把date数据转换成json可以识别的字符串。
此时使用simpledateformat可以将日期转换成业务需要的格式。在这里并不需要注意格式的问题。
解决方法我已在我的博客ajax&json分类的一篇随笔中给出。
向下:向控制器传递数据是。我们需要把字符串转换成一个date实例。最简单的方法我们可以在控制器中加上这样一段:
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); //true:允许输入空值,false:不能为空值
}
此时一定要注意日期格式的问题。从视图层返回的字符串必须与你想要的日期格式(即java能识别的格式)相同,
否则会报java.lang.IllegalArgumentException错。传递非法参数。
在后台管理系统中我们最多使用json传递数据。此时我们肯定会遇到一些关于格式转换的问题:
例如日期的处理:
向上:向视图层传递数据时。我们需要事先把date数据转换成json可以识别的字符串。
此时使用simpledateformat可以将日期转换成业务需要的格式。在这里并不需要注意格式的问题。
解决方法我已在我的博客ajax&json分类的一篇随笔中给出。
向下:向控制器传递数据是。我们需要把字符串转换成一个date实例。最简单的方法我们可以在控制器中加上这样一段:
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); //true:允许输入空值,false:不能为空值
}
此时一定要注意日期格式的问题。从视图层返回的字符串必须与你想要的日期格式(即java能识别的格式)相同,
否则会报java.lang.IllegalArgumentException错。传递非法参数。
相关文章推荐
- 日期格式不一致问题处理
- Java处理excel导入数据库日期格式的处理(24时制变为12时制问题的处理)
- 处理注册时的生日日期格式问题
- POI处理Excel中各种日期格式问题
- 取从textarea中存到MYSQL的数据以原格式显示问题以及解决MySQL日期处理和标签的使用
- 处理Json接收日期格式问题
- Gson使用中遇到的Date格式问题。日期格式处理
- spring mvc4处理日期格式问题
- SpringMVC日期格式类型转换问题--3种处理方法
- 关于如何处理JSONObject.fromObject(Object obj)无法转换特殊日期(java.sql.Date,java.sql.Timestamp)格式的问题。
- mysql jdbc处理0日期格式贞操问题
- mysql jdbc处理0日期格式蛋疼问题-也算是BUG
- springMVC 在controller中将参数封装成对象--日期格式处理问题
- POI处理excel日期格式问题(xlsx)
- Gson使用中遇到的Date格式问题。日期格式处理
- 关于如何处理JSONObject.fromObject(Object obj)无法转换特殊日期(java.sql.Date,java.sql.Timestamp)格式的问题。
- Oracle如何解决日期格式“01-3月 -18”的显示问题(3种处理方式)
- Oracle中查询同一个日期字段,格式不同的问题
- C#字符串转换为日期时间格式及其错误处理
- matlab处理text文档格式问题