• Java Servlet生成JSON格式数据并用jQuery显示


    1、Servlet通过json-lib生成JSON格式的数据

    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.*;

    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 json.Person;
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;

    @WebServlet("/JSONServlet")
    public class JSONServlet extends HttpServlet {
    public JSONServlet() {
    super();
    }
    public void destroy() {
    super.destroy(); // Just puts "destroy" string in log
    // Put your code here
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    response.setContentType("application/x-json");
    response.setCharacterEncoding("GBK");
    PrintWriter out = response.getWriter();
    ArrayList<Person> items=new ArrayList<Person>();
    items.add(new Person(2,"jack"));
    items.add(new Person(2,"bob"));
    items.add(new Person(2,"alex"));

    JSONArray jsonArray=new JSONArray();
    jsonArray.addAll(items);
    out.print(jsonArray.toString());
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    doGet(request,response);
    }
    public void init() throws ServletException {
    // Put your code here
    }
    }

    2、前端页面代码

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    $(document).ready(
    function() {
    $("#kick").click(
    function() {

    $.ajax({
    type : "post",//post方法
    url : "JSONServlet",
    data : {
    "legs" : "2",
    "name" : "aa"
    },
    //ajax成功的回调函数
    success : function(returnData) {
    var arr = eval(returnData);
    $.each(arr, function(index, content) {
    $("#result").append(
    "<div>" + content.legs
    + "</div>" + "<div>"
    + content.name
    + "</div><hr/>");

    });

    }
    });
    });
    });
    </script>
    </head>
    <body>
    <input type="button" id="kick" value="kick">
    <div id="result"></div>
    </body>
    </html>

    jQuery也可以用.getJSON实现异步数据获取

    <script type="text/javascript">
    $(document).ready(
    function() {
    $("#kick").click(function() {
    $.getJSON("JSONServlet",function(returnData){
    var arr = eval(returnData);
    $("#result").html("");//清空info内容
    $.each(arr, function(index, content) {
    $("#result").append(
    "<div>" + content.legs
    + "</div>" + "<div>"
    + content.name
    + "</div><hr/>");

    });
    });
    });
    });
    </script>

  • 相关阅读:
    OCA读书笔记(11)
    shell命令--rev
    OCA读书笔记(10)
    shell命令--cut
    OCA读书笔记(9)
    shell命令--tail
    天气的研究
    网络知识汇总(2)
    shell命令--head
    OCM读书笔记(2)
  • 原文地址:https://www.cnblogs.com/zhouhb/p/4895875.html
Copyright © 2020-2023  润新知