- 서블릿에서 배열결과 던졌을때 받는예제

[[  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

+ Recent posts