帮忙看一下,为什么会遍历了两次,
jsp代码:
<%--
Ajax小案例
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<script src="js/jquery.js"></script>
<script>
$(function () {
//获取页面数据
getData();
})
//获取页面数据
function getData() {
$.getJSON("Users.do",{flag:"getData"},function (result) {
showData(result);
})
}
//遍历展示数据
function showData(obj) {
var str = "";
$.each(obj,function () {
str +=
"<tr align='center'>" +
" <td id='"+this.userid+"'>"+this.userid+"<td/>" +
" <td>"+this.username+"<td/>" +
" <td>"+this.usersex+"<td/>" +
" <td>"+this.userbirth+"<td/>" +
" <td>" +
" <a href='#' onclick='preUpda()'>选择更新<a/>" +" " +
" <a href='#' onclick='delete("+this.userid+")'>删除数据<a/>" +
" <td/>"
"<tr/>";
$("#tbody").prepend(str);
});
}
</script>
<title>Title</title>
</head>
<body>
<table align="center" border="1px" width="60%">
<tr>
<td>ID</td>
<td><input type="text" name="userid" id="userid"></td>
<td>用户名</td>
<td><input type="text" name="username" id="username"></td>
</tr>
<tr>
<td>性别</td>
<td>
<input type="radio" name="usersex" value="1" id="usersex_1">男
<input type="radio" name="usersex" value="0" id="usersex_0">女
</td>
<td>生日</td>
<td><input type="text" name="userbirth" id="userbirth"></td>
</tr>
<tr align="center">
<td colspan="4">
<input type="button" value="添加用户" id="add">
<input type="button" value="更新用户" id="update">
</td>
</tr>
</table>
<hr/>
<table align="center" width="60%" border="1px" id="mybody">
<tr align="center">
<td>ID</td><td></td>
<td>姓名</td><td></td>
<td>性别</td><td></td>
<td>生日</td><td></td>
<td>操作</td>
</tr>
<tbody id="tbody"></tbody>
</table>
</body>
</html>
servlet代码
package com.bjsxt.servlet;
import com.bjsxt.commons.JsonUtils;
import com.bjsxt.pojo.User;
import com.bjsxt.pojo.Users;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@WebServlet("/Users.do")
public class UsersServlet extends HttpServlet {
//初始化数据,当作是数据库操作了
@Override
public void init() throws ServletException {
Users users1 = new Users(1, "oldlu", "1", new Date());
Users users2 = new Users(2, "Kavin", "0", new Date());
Users users3 = new Users(3, "Tian", "0", new Date());
List<Users> list = new ArrayList<>();
list.add(users1);
list.add(users2);
list.add(users3);
ServletContext servletContext = this.getServletContext();
servletContext.setAttribute("list", list);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String flag = req.getParameter("flag");
if (flag.equals("getData")){
getDate(req, resp);
}
}
private void getDate(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
List<Users> list = (List<Users>) this.getServletContext().getAttribute("list");
String s = JsonUtils.objectToJson(list);
System.out.println(s);
resp.setContentType("application/json");
PrintWriter pw = resp.getWriter();
pw.print(s);
pw.flush();
pw.close();
}
}
展示结果:
控制台,打印输出的json对象:
[{"userid":1,"username":"oldlu","usersex":"1","userbirth":"2020-10-09"},{"userid":2,"username":"Kavin","usersex":"0","userbirth":"2020-10-09"},{"userid":3,"username":"Tian","usersex":"0","userbirth":"2020-10-09"}]
确实是一个list没错