• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SpringMVC接收java.util.Date类型数据的2种方式小结

java 搞代码 4年前 (2022-01-05) 64次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了使用SpringMVC接收java.util.Date类型数据的2种方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

SpringMVC接收java.util.Date类型数据

在Controller中如下定义方法

 public PassQueryRequest trade(@ModelAttribute PassQueryRequest tradeRequest, @RequestParam(value="startDate", required=true)Date startDate, @RequestParam(value="endDate", required=true)Date endDate

1、在springmvc中使用对象接收参数时

在PassQueryRequest中,在日期属性的set方法中增加定义,以及maven配置

 @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") public Date getStartDate() { return startDate; }
  joda-timejoda-time${joda-time.version}

2、直接使用java.u来源gaodai#ma#com搞@代~码网til.Date变量接收参数

 @org.springframework.web.bind.annotation.InitBinder public void InitBinder( /* HttpServletRequest request, */ServletRequestDataBinder binder) { // 不要删除下行注释!!! 将来"yyyy-MM-dd"将配置到properties文件中 // SimpleDateFormat dateFormat = new // SimpleDateFormat(getText("date.format", request.getLocale())); System.out.println("执行了InitBinder方法"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateFormat.setLenient(false); binder.registerCustomEditor(Date.class, null, new CustomDateEditor(dateFormat, true)); }

解决 springmvc中接收date数据问题

springmvc Controller类中需要接收的是Date类型,但是在页面端传过来的是String类型,就会出现以下异常

Failed to convert value of type ‘java.lang.String’ to required type ‘java.util.Date’;

这里提供三种解决方案。

一、局部转换

 @Controller @RequestMapping("order") public class OrderCtrl extends CtrlSupport { private static final Logger logger = LoggerFactory.getLogger(OrderCtrl.class); // 将字符串转换为Date类 @InitBinder public void initBinder(WebDataBinder binder, WebRequest request) { // 转换日期格式 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); } }

二、全局转换

1.创建convertDate类实现WebBindingInitializer接口

 public class convertDate implements WebBindingInitializer{ @Override public void initBinder(WebDataBinder binder, WebRequest request) { // TODO Auto-generated method stub //转换日期 DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); } }

2.在Spring-MVC.xml中配置日期转换

 <!-- 日期转换 -->  

三、get方法配置

 import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonFormat; @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8") public Date getGetLicenseTime() { return getLicenseTime; } public void setGetLicenseTime(Date getLicenseTime) { this.getLicenseTime = getLicenseTime; }

@JsonFormat 默认是标准时区的时间, 北京时间 东八区 timezone=”GMT+8”

作用:后台的时间 格式化 发送到前台

@DateTimeFormat 接受前台的时间格式 传到后台的格式

以上就是SpringMVC接收java.util.Date类型数据的2种方式小结的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SpringMVC接收java.util.Date类型数据的2种方式小结

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址