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.日期表单独立处理 -> 避免自动装载

posted @ 2020-12-07 22:00  檐下赏雨  阅读(55)  评论(0)    收藏  举报