后台和页面之间传递日期格式数据的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{

本文介绍了解决Java后台与浏览器间日期格式不匹配导致的400错误的方法。通过JSP函数库格式化输出日期,并利用SpringMVC自定义日期编辑器实现日期格式的正确解析。
1万+

被折叠的 条评论
为什么被折叠?



