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();
}
[출처] 6. DOJO AND JSON|작성자 이카루스
왕따 된 한국 IT..누가 이지경으로 만들었나.. (59) | 2008.11.10 |
---|---|
정보화 시대..하지만 IT를 떠나는 사람들... (32) | 2008.11.08 |
ECLIPSE CVS 사용하기 (0) | 2008.11.06 |
jeus - context추가 ( 5.x대 이상 ) , jeus-web-dd.xml, web.xml (1) | 2008.11.05 |
윈도우 도스 배치파일 만들기 (0) | 2008.11.04 |