会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132493个问题
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 28923楼
JAVA 全系列/第一阶段:JAVA 快速入门/JAVA入门和背景知识 28926楼
JAVA 全系列/第六阶段:项目管理与SSM框架/SpringMVC 28929楼
Python 全系列/第十九阶段:数据分析-数据管理/Pandas的使用 28930楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 28931楼

帮忙看一下,为什么会遍历了两次,

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/>" +"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                    "           <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();

    }
}

展示结果:image.png


控制台,打印输出的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没错

JAVA 全系列/第五阶段:JavaWeb开发/Ajax技术详解(旧) 28933楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637