主页 > 编程资料 > JSP(JAVA) >
发布时间:2016-01-01 作者:网络 阅读:267次

本文实例讲述了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>

希望本文所述对大家JSP程序设计有所帮助。

关键字词: