在使用springmvc开发项目时,进行表单提交出现404页面找不到错误,访问其他url
都正常,就是form表单提交的页面出现了错误,结论是参数出了错误
通过调查发现原来自己传递了时间格式的字符串“2013-12-10 15:29:30”
spring报错了,而spring并没有把异常抛出而是自己吃掉了。
下面解决springmvc form表单提交有时间字符串的处理方法:
1.在controller类中添加如下代码:
//处理提交有时间字符串的值
@InitBinder
protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
CustomDateEditor dateEditor = new CustomDateEditor(fmt, true);
binder.registerCustomEditor(Date.class, dateEditor);
}
2.jsp页面时间写法如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<div>
insert<br>
<form action="${pageContext.request.contextPath}/user/insert" method="POST">
name:<input id="" name="name" value="aaa"><br>
<!-时间格式要和controller类中的initBinder方法写的格式一致->
arriveTime:<input id="" name="arriveTime" value="2013-12-10 15:29:30"><br>
<input type="submit">
</form>
</div>