后台和页面之间传递日期格式数据的400问题
一、分析
- java中的日期格式是yyyy/MM/dd ,而浏览器中支持的格式是yyyy-MM-dd
二、后台向页面传递日期格式信息解决
用taglib标签引入jsp函数库
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
使用
<input type="date" value="<fmt:foemaDate value='${date}' pattern="yyyy-MM-dd"/>" />
三、 页面向后台传递日期格式信息解决
创建一个基本的Controller
public abstract class BaseController { @InitBinder //此方法用于日期的转换,如果未加,当页面日期格式转换错误,将报400错误,实际是因为此方法 public void initBinder(WebDataBinder binder) { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.setLenient(true); binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); } }
让需要接受日期格式的controller继承这个基本的controller即可
@Controller public class UserController extends BaseController{