Dojo [펌] 6. DOJO AND JSON

황제낙엽 2009.03.11 07:23 조회 수 : 137 추천:112

sitelink1  
sitelink2  
sitelink3 http://1 
extra_vars4 ko 
extra_vars5 http://blog.naver.com/rediblue/120036865098 
extra_vars6 sitelink1 

1.index.jsp

// 페이지에서 사용할 Util클래스와  Book 관련 클래스를 임포트한다.

<%@ page
   import="java.util.Iterator,
           java.util.List,
           com.esolaria.dojoex.Book,
           com.esolaria.dojoex.BookManager" %>
<script language="javascript">

           // Ajax 통신 , 이벤트 관리, html 출력에 관한 Dojo 객체를 임포트 한다..
            dojo.require("dojo.io.*");
            dojo.require("dojo.event.*");
            dojo.require("dojo.html.*");

            // 저자 이름 위에 마우스오버 되었을때 실행되는 함수
            function trMouseOver(bookId) {

                //파러미터로 넘어온 북ID를 통하여 북정보를 가져오는 함수 호출
                getBookInfo(bookId);
            }
            // 저자 이름 위에서 마우스가 벗어났을때 실행되는 함수로

           function trMouseOut(evt) {
                var bookDiv = document.getElementById("bookInfo");
                bookDiv.style.display = "none";
            }

            // Dojo를 통하여 책에 관한 정보를 얻어오는 함수
            function getBookInfo(bookId) {

                // 스크립트 배열객체에 북ID 정보를 저장한다.
                var params = new Array();
                params['bookId'] = bookId;
               
                // JSON data format를 사용하여 서버에 요청을 보내다.
                var bindArgs = {

                    //요청을 보낼  URL
                    url: "actions/book.jsp",

                     //에러발생시 처리 함수
                    error: function(type, data, evt){alert("error");},

                    //리턴받을 DATA 형식
                    mimetype: "text/json",

                    //요청으로 보낼 DATA
                    content: params
                };

                //dojo.io.bind를 사용하여 요청을 보낸다.
                var req = dojo.io.bind(bindArgs);
               
                // 요청상태가 load일때 populateDiv가 호출되도록 이벤트 핸들러에 등록
                dojo.event.connect(req, "load", this, "populateDiv");
            }

            // 요청이 처리되었을때 책의 정보를 받아와 div에 출력한다.
            function populateDiv(type, data, evt) {
                var bookDiv = document.getElementById("bookInfo");
                if (!data) {
                    bookDiv.style.display = "none";
                } else {

                    //Json형식의 객체에서 정보를 출력한다.
                    bookDiv.innerHTML = "ISBN: " + data.isbn + "<br/>Author: " + data.author;
                    bookDiv.style.display = "";
                }
            }
        </script>

 

2. book.java

    // 북 entity 객체의 정보를 org.json.JSONObject를 통하여

   // Json형식으로 리턴한다.

   public String toJSONString() throws JSONException {
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("bookId", new Integer(this.bookId));
        jsonObj.put("title", this.title);
        jsonObj.put("isbn", this.isbn);
        jsonObj.put("author", this.author);
        return jsonObj.toString();
    }

번호 제목 글쓴이 날짜 조회 수
81 마우스 드래그(drag)시 iframe 위에서 컨트롤 잃는 현상과 해결 방안 황제낙엽 2017.12.12 18478
80 매우 간단한 AJAX 예제 - prototype.js 이용 (JSP) 황제낙엽 2007.08.24 7497
79 [re] XML+JS 연동 다중셀렉트박스 (2) - [AJAX] <font color="brown">(MS Explorer 전용)</brown> 황제낙엽 2006.02.22 1559
78 Redux: React 앱의 효율적인 데이터 교류 file 황제낙엽 2020.05.19 740
77 json을 이용한 로그인 구현 file 황제낙엽 2011.03.25 601
76 How Prototype extends the DOM (Prototype으로 DOM을 확장하는 법) 황제낙엽 2011.03.24 444
75 $.ajax() 공략 file 황제낙엽 2011.03.27 415
74 Dojo로 HTML 위젯 개발하기 - Dojo HTML 위젯 황제낙엽 2009.03.18 363
73 Building Your Own Widget Library with YUI 황제낙엽 2009.04.16 321
72 15+ jQuery Popup Modal Dialog Plugins and Tutorials 황제낙엽 2011.03.30 280
71 XML+JS 연동 다중셀렉트박스 (1) - [AJAX] <font color="brown">(MS Explorer 전용)</brown> 황제낙엽 2005.12.02 241
70 Jasmine 관련 황제낙엽 2020.01.13 240
69 다섯 가지의 Ajax 우수 사례 황제낙엽 2011.04.07 219
68 Spring에서 DWR Annotation 사용하기 file 황제낙엽 2009.10.28 151
» [펌] 6. DOJO AND JSON file 황제낙엽 2009.03.11 137
66 Ajax 관련 사이트 정리 황제낙엽 2006.04.20 132
65 웹 개발 패러다임의 전환 - Flex와 Ajax의 동거 황제낙엽 2006.12.21 125
64 XML+JS 연동 다중셀렉트박스 (1) - [AJAX] <font color="brown">(MS Explorer 전용)</brown> 황제낙엽 2005.12.02 125
63 DWR 2.0 and Spring 2.x - The DWR namespace handler 황제낙엽 2009.05.16 124
62 관심 사이트 황제낙엽 2009.03.12 116