Spring MVC架构的应用。
springmvc数据绑定是一个很好的东西,在数据绑定的时候一定要主意Controller方法中的参数名和jsp页面里的参数名字是否一致或者按照绑定的规范来写,如果不一致,可能回报如下错误:
The request sent by the client was syntactically incorrect ().从字面上理解是:客户端发送的请求语法错误。实际就是springmvc无法实现数据绑定。
1、Ajax提交时没有反应。
提交方法:
$.ajax({
type : "post",
url : "${ctx}/channelrecord/saveWebPage",
data : $("form").serialize(),
async : false,
success : function(data) {
}
});
经验证,提交方式没有任何问题,却在提交时无反应。
2、查看响应。
查看提交后的响应正文,如下:
<html>
<head>
<title>Apache Tomcat/7.0.53 - Error report</title>
<style>
<!--
H1 {
font-family: Tahoma, Arial, sans-serif;
color: white;
background-color: #525D76;
font- size: 22px;
}
H2 {
font-family: Tahoma, Arial, sans-serif;
color: white;
background- color: #525D76;
font-size: 16px;
}
H3 {
font-family: Tahoma, Arial, sans- serif;
color: white;
background-color: #525D76;
font-size: 14px;
}
BODY {
font- family: Tahoma, Arial, sans-serif;
color: black;
background-color: white;
}
B {
font- family: Tahoma, Arial, sans-serif;
color: white;
background-color: #525D76;
}
P {
font- family: Tahoma, Arial, sans-serif;
background: white;
color: black;
font-size: 12px;
}
A {
color: black;
}
A.name {
color: black;
}
HR {
color: #525D76;
}
-->
</style>
</head>
<body>
<h1>HTTP Status 400 -</h1>
<HR size="1" noshade="noshade">
<p>
<b>type</b> Status report
</p>
<p>
<b>message</b> <u></u>
</p>
<p>
<b>description</b> <u>The request sent by the client was
syntactically incorrect.</u>
</p>
<HR size="1" noshade="noshade">
<h3>Apache Tomcat/7.0.53</h3>
</body>
</html>
其中,The request sent by the client was syntactically incorrect 告诉我们,请求不正确。
3、从网上其他地方找到的错误原因:
若有日期、时间字段提交,则需要规范日期、时间的格式,否则无法转换。
4、在Action/Controller中添加 如下方法,即可规范所有的格式。
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
问题解决