| 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();
}
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 81 | [React.JS] 강좌 목록 | 황제낙엽 | 2020.05.19 | 385 |
| 80 |
Redux: React 앱의 효율적인 데이터 교류
| 황제낙엽 | 2020.05.19 | 971 |
| 79 | Jasmine 관련 | 황제낙엽 | 2020.01.13 | 492 |
| 78 | 마우스 드래그(drag)시 iframe 위에서 컨트롤 잃는 현상과 해결 방안 | 황제낙엽 | 2017.12.12 | 28271 |
| 77 | 다섯 가지의 Ajax 우수 사례 | 황제낙엽 | 2011.04.07 | 490 |
| 76 | 15+ jQuery Popup Modal Dialog Plugins and Tutorials | 황제낙엽 | 2011.03.30 | 574 |
| 75 |
$.ajax() 공략
| 황제낙엽 | 2011.03.27 | 670 |
| 74 | DWR을 이용해서 객체를 JSON으로 변환하기 | 황제낙엽 | 2011.03.25 | 347 |
| 73 |
json을 이용한 로그인 구현
| 황제낙엽 | 2011.03.25 | 832 |
| 72 | How Prototype extends the DOM (Prototype으로 DOM을 확장하는 법) | 황제낙엽 | 2011.03.24 | 695 |
| 71 | 스크랩 | 황제낙엽 | 2009.04.16 | 439 |
| 70 | YUI 스크랩 | 황제낙엽 | 2009.03.12 | 323 |
| 69 | 스크랩 | 황제낙엽 | 2009.03.11 | 316 |
| 68 | 관심 사이트 | 황제낙엽 | 2009.03.12 | 431 |
| 67 | 웹 개발 패러다임의 전환 - Flex와 Ajax의 동거 | 황제낙엽 | 2006.12.21 | 434 |
| 66 | Ajax 강의 정리 | 황제낙엽 | 2006.04.04 | 387 |
| 65 | 자바 기술을 이용한 AJAX의 활용 | 황제낙엽 | 2006.02.08 | 347 |
| 64 |
대표적인 AJAX Framework 소개
| 황제낙엽 | 2007.02.14 | 414 |
| 63 | Ajax Framework 인기 순위: Ajaxian.com | 황제낙엽 | 2007.02.13 | 368 |
| 62 |
prototype.js 를 위한 개발자 노트 (Ajax Framework)
| 황제낙엽 | 2007.02.15 | 335 |