spring mvc 中Controller的代码
package cn.sxt.conntroller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class JsonConntroller {
@RequestMapping("/json")
@ResponseBody
public List<User> json(){
List<User> list = new ArrayList();
list.add(new User("jake", 10, "men"));
list.add(new User("nico", 10, "women"));
list.add(new User("joker", 10, "men"));
return list;
}
}
index.jsp代码
<%@ 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>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(function(){
$("#b").click(function(){
$.post("json.do",function(data){
var html="";
for(var i = 0;i<data.length;i++){
html+="<tr><td>"+data[i].name+"</td><td>"+data[i].age+"</td><td>"+data[i].sex+"</td></tr>"
}
$("#content").html(html);
});
});
});
</script>
</head>
<body>
<input type="button" id="b" value="获取信息">
<table width="80%" align="center">
<tr>
<td>name</td>
<td>age</td>
<td>sex</td>
</tr>
<tbody id="content"></tbody>
</table>
</body>
</html>
在浏览器上面的展示图
导入的jar包和jswen'jian
jackson-annotations-2.9.9.jar
jackson-core-2.9.9.jar
jackson-databind-2.9.9.jar
jquery-3.4.1.min.js
直接console.log(data) 看看接收到的list是什么样子的,
怀疑是否是java 的 user对象没有设置get set方法?导致封装responseBody封装user为json的时候属性没有值
还有 我看你requestMapping里路径json
到前台url 又变成了json.do 确认一下是否有问题
你那controller里list只存放了三个对象,到页面怎么会显示那么多,这样有问题吧?
你是怎么会想到用for循环的,改成这样写试试
var html="";
$(data).each(function(i,e){
html+="<tr><td>"+e.name+"</td><td>"+e.age+"</td><td>"+e.sex+"</td></tr>"
}
$("#content").html(html);