在使用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错。传递非法参数。