springMvc自动绑定json数据
前端编写:
var fields = $("form").serializeArray();
var o = {};
$.each(fields, function(i, fields) {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [ o[this.name] ];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
var data = JSON.stringify(o)
我是用juqery 表单序列化先获取数据
然后遍历转换成json数据
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
function AjaxJson() {
var fields = $("form").serializeArray();
var o = {};
$.each(fields, function(i, fields) {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [ o[this.name] ];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
var data = JSON.stringify(o)
$.ajax({
type : "POST",
dataType : "JSON",
contentType : 'application/json;charset=UTF-8',
data : data,
url : "testJson",
success : function(data) {
alert(data);
},
});
}
</script>
<body>
<form action="">
<input type="text" name="name"> <input type="password"
name="password"> <input type="button" value="提交"
οnclick="AjaxJson()">
</form>
</body>
</html>
Servlet编写
@RequestMapping("testJson")
public void test(@RequestBody Admin admin) {
System.out.println(admin.toString());
}
前提是 @RequestBody Admin admin 这个对象里要有和前端对应的name值