- 서블릿에서 배열결과 던졌을때 받는예제
[[ test01.html ]]
<!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=EUC-KR">
<title>Insert title here</title>
<script type="text/javascript" src="../js/ajaxutil.js"></script>
<script type="text/javascript" src="../js/json.js"></script>
<script type="text/javascript">
var xhr=null;
function getData(){
xhr=getXHR();
xhr.onreadystatechange=callback;
xhr.open("get","server1.jsp",true);
xhr.send(null);
}
function callback(){
if(xhr.readyState==4 && xhr.status==200){
var str=xhr.responseText;
//str을 json객체로 변환(json.js에 포함된 메소드)
var data=str.parseJSON();
var ss="";
for(var i=0;i<data.list.length;i++){
ss += data.list[i].num + "," +
data.list[i].id + "," +
data.list[i].comments + "<br/>";
}
document.getElementById("result").innerHTML = ss;
}
}
</script>
</head>
<body>
<input type="button" value="서버에서 값받아오기" onclick="getData()"/>
<div id="result">
</div>
</body>
</html>
[[ server1.jsp ]]
<%@page import="test.vo.CommentsVo"%>
<%@page import="org.json.simple.JSONObject"%>
<%@page import="org.json.simple.JSONArray"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%
///////json을 배열형태로 응답하기 //////
//db에서 데이터를 얻어왔다고 가정.
ArrayList<CommentsVo> list =new ArrayList<CommentsVo>();
list.add(new CommentsVo(1,"song","good!"));
list.add(new CommentsVo(2,"song","very good!"));
list.add(new CommentsVo(3,"song","very very good!"));
// json객체를 요소로 갖는 배열 객체 생성
JSONArray arr=new JSONArray();
//ArrayList안의 vo객체를 jsonobject타입으로 변환해서 arr에 추가하기
for(CommentsVo vo:list){
JSONObject obj=new JSONObject();
obj.put("num", vo.getNum());
obj.put("id",vo.getId());
obj.put("comments",vo.getComments());
//json객체를 arr배열에 추가
arr.add(obj);
}
//json배열을 값으로 갖는 json객체 생성(응답형 객체)
JSONObject json=new JSONObject();
json.put("list",arr);
//json으로 응답하기
response.setContentType("text/plain;charset=utf-8");
response.getWriter().write(json.toString());
%>
'WEB > Ajax Json' 카테고리의 다른 글
아이디 중복 체크하기 예제 (0) | 2015.02.26 |
---|---|
AJAX #07 JSON (0) | 2013.05.04 |
AJAX #06 JSON 관련 jar, javascript파일 (0) | 2013.05.04 |
AJAX #05 JSON (0) | 2013.05.04 |
AJAX #04 댓글 달기 예제 (1) | 2013.05.04 |