Spring MVC处理前台到后台绑定时间格式、doble等数据的解决方式
2017-12-17 17:08
543 查看
第一种方式:使用注解
@DateTimeFormat(pattern="yyyy-MM-dd")//SpringMVC默认不支持日期时间格式的转换
private Date birthday;
第二种方式:重写Converter+SpringMVC配置
package cn.mySmbms.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
/**
* 负责将字符串转换成指定格式的时间对象Date的自定义转换器
* @author 30869
*
*/
public class StringToDateConverter implements Converter<String, Date> {
private String datePattern;
public StringToDateConverter(String datePattern) {
this.datePattern=datePattern;
}
@Override
public Date convert(String s) {
Date date=null;
try {
date=new SimpleDateFormat(datePattern).parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
第三种方式:装配自定义编辑器
package cn.mySmbms.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
/**
* 父类Controller,所有业务Controller需继承自此类
*
* @author 30869
*
*/
public class BaseController {
/**
* 使用@InitBinder解决SpringMVC日期类型无法绑定问题
*
* @param dataBinder
*/
@InitBinder//此注解的方法会在控制器初始化的时候调用
public void initBinder(WebDataBinder dataBinder) {
dataBinder.registerCustomEditor(Date.class, new CustomDateEditor(
new SimpleDateFormat("yyyy-MM-dd"), true));//true表示允许为空
}
}
@DateTimeFormat(pattern="yyyy-MM-dd")//SpringMVC默认不支持日期时间格式的转换
private Date birthday;
第二种方式:重写Converter+SpringMVC配置
package cn.mySmbms.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
/**
* 负责将字符串转换成指定格式的时间对象Date的自定义转换器
* @author 30869
*
*/
public class StringToDateConverter implements Converter<String, Date> {
private String datePattern;
public StringToDateConverter(String datePattern) {
this.datePattern=datePattern;
}
@Override
public Date convert(String s) {
Date date=null;
try {
date=new SimpleDateFormat(datePattern).parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
<!-- 配置<mvc:annotation-driven/>完成对@Controller和@RequestMapping等注解的支持 --> <!-- conversion-service指定是负责将字符串转换成指定格式的时间对象Date的自定义转换器,以此来覆盖mvc:annotation-driven的默认实现 --> <mvc:annotation-driven conversion-service="myConversionService"> 中间内容忽略 </mvc:annotation-driven> <bean id="myConversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="cn.mySmbms.utils.StringToDateConverter"> <constructor-arg type="java.lang.String" value="yyyy-MM-dd"/> </bean> </list> </property> </bean>
第三种方式:装配自定义编辑器
package cn.mySmbms.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
/**
* 父类Controller,所有业务Controller需继承自此类
*
* @author 30869
*
*/
public class BaseController {
/**
* 使用@InitBinder解决SpringMVC日期类型无法绑定问题
*
* @param dataBinder
*/
@InitBinder//此注解的方法会在控制器初始化的时候调用
public void initBinder(WebDataBinder dataBinder) {
dataBinder.registerCustomEditor(Date.class, new CustomDateEditor(
new SimpleDateFormat("yyyy-MM-dd"), true));//true表示允许为空
}
}
相关文章推荐
- jsp页面利用get方式提交到后台的数据为乱码格式的解决办法
- Struts2的后台与前台数据交互处理方式的简单总结
- 【Web】前台传送JSON格式数据到后台Shell处理
- 快速解决处理后台返回json数据格式的问题
- 后台将数据传回前台的三种绑定方式(Model,Map,ModelAndView)
- spring mvc 前台到后台 时间类型是怎样处理的?
- spring mvc源码-》MultipartReques类-》主要是对文件上传进行的处理,在上传文件时,编码格式为enctype="multipart/form-data"格式,以二进制形式提交数据,提交方式为post方式。
- ajax发送请求后台处理数据格式然后返回前台的方法(ObjectMapper)
- ajax从后台获取数据,返回值为时间和字段太长的处理方式
- js接收后台时间数据变成秒处理为正常格式
- 【工作记录0013】easyui中datagrid绑定,后台可读出数据,前台未显示的解决方法
- 解决处理后台返回json数据格式问题
- 前台用Gridview绑定数据时时间只显示 年月日 的方法
- jdbc的Date类型处理,解决java.util.date与java.sql.date的时间数据丢失
- WPF-数据绑定:日期时间格式
- 帮助类解决日期时间问题(包含从Mysql中查出来的数据后面多了个0的问题,以友好的方式显示时间的问题)
- asp.net前台绑定数据和后台绑定数据什么区别
- matlab处理txt文本文件---数据格式要有规律性,否则要用编写特定方式进行读取
- asp.net MVC后台获取前台json数据怎么处理
- (转:Tonny Yang)jQuery备忘之(一):jQuery处理.Net后台返回的Xml格式与Json格式的数据的比较分析