User has the birthday (Date) attribute. When the user registers, just select the date and then submit the form. Spring mvc will report an error. 400 Bad Request means that the string cannot be converted to Date type.
Add date formatting annotation to the entity class
@DateTimeFormat(pattern = "yyyy-MM-dd") private Date birthday;
Add a data binding to the controller Define the code
//将字符串转换为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)); }
Method 3: Implement a global date type converter and configure it
package nuc.ss.wlb.core.web; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.support.WebBindingInitializer; import org.springframework.web.context.request.WebRequest; public class CustomDateEdtor implements WebBindingInitializer { 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)); } } //并在spingMVC配置文件进行配置
Method 4: jsp page configuration or configuration in Freemark
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
The above is the detailed content of SpringMvc receives date form submission and automatically converts it into Date type method. For more information, please follow other related articles on the PHP Chinese website!