JavaServlet生成JSON格式数据并用jQuery显示

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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

importjava.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 voiddoGet(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>

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航