5.时间格式异常
Book
private Timestamp date;
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:set var="root" value="${pageContext.request.contextPath}"></c:set> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>hello</title> </head> <body> <form action="${root}/book" method="post"> 书名<input type="text" name="title" value="${requestScope.book.title}"><br/> 作者<input type="text" name="author" value="${requestScope.book.author}"><br/> 时间<input type="text" name="date" value=${requestScope.book.date}><br/> <input type="submit" value="book"> </form> </body> </html>
@RequestMapping(value="/book",method=RequestMethod.POST) public ModelAndView method2(@ModelAttribute Book book){ //Map key相同 value 覆盖 System.out.println(book); System.out.println(2); ModelAndView mv = new ModelAndView(); mv.setViewName("/comm/book"); return mv; }
会报400的错误。
最简单的办法:
@RequestMapping(value="/book",method=RequestMethod.POST) public ModelAndView method2(@ModelAttribute Book book, @RequestParam(name="date1")String date1){ //Map key相同 value 覆盖 System.out.println(book); book.setDate(Timestamp.valueOf(date1)); System.out.println(book); ModelAndView mv = new ModelAndView(); mv.setViewName("/comm/book"); return mv; }
时间格式处理
1.自定义格式转换器 -> 网络查找
2.日期字段改为String -> 保证格式正确
3.日期表单独立处理 -> 避免自动装载

浙公网安备 33010602011771号