From Gossip@caterpillar

Ajax Gossip: §Y®É´£¥Ü°T®§

¦n°Õ¡I³o­ÓµL²áªº Hello DWR ¥i¥H°µÔ£¡I…XD

¤w¸g¥i¥HÅý±z°µ­Ó²³æªº¤å¦r´£¥Ü¥\¯à¤F…¹³³o­Ó…
http://caterpillar.onlyfun.net/Gossip/index.html

§â·Æ¹««ü¨ì®Ñªº·Ó¤ù¤W¡A·|Åã¥Ü´£¥Ü¤å¦r¡A³o¨Ç´£¥Ü¤å¦r¥»¨­¤£¬O¦s¦bºô­¶¤Wªº¡A¦Ó¬O¦bServerºÝ¡A·í·Æ¹««ü¨ì®Ñ¤W®É¡A·|¥ÎRequest object¥h§ì¡AµM«áÅã¥Ü¦b®Ø®Ø¤¤…

·íµM¡I§Úªººô¯¸¥u¤ä´©PHP¡A©Ò¥H¨º¤£¬ODWR§¹¦¨ªº¥\¯à¡A¦Ó¥B§Ú¬Oª½±µ¥ÎRequest object¸òDOM¥hºCºC¨èªº…¹ïªì¾ÇªÌ¨Ó»¡¤w¸g¦³¨Ç³Â·Ð¤F…XD

¤£¹L¡I¥ÎDWR´N¥i¥H«Ü²³æ§¹¦¨³o­Ó¥\¯à…

¥ý¼g­ÓJavaÃþ§O§a¡I·|§ìpropertiesÀɮפ¤ªº¤å¦r°T®§¡A¨Ò¦p…
  • Book.java
package onlyfun.caterpillar;

import java.util.ResourceBundle;

public class Book {
private ResourceBundle resource;

public Book() {
resource = ResourceBundle.getBundle("book");
}

public String getDescription(String key) {
return resource.getString(key);
}
}

±qµ{¦¡¤¤´Nª¾¹D¡A¥¦·|¥h§ìbook_zh_TW.propertiesªº¸ê®Æ¡A³o¤£¬O­«ÂI°Õ¡I¥u¬OJavaªº¤@­Ó¥\¯à¡A§Ú­Ì­n¬Ýªº¬ODWR¡A¤£¹L¥ý§âbook_zh_TW.properties·Ç³Æ¦n…
  • book_zh_TW.properties
java=Java ¾Ç²ßµ§°Oªº¤¶²Ð … BlaBla...
spring=Spring §Þ³N¤â¥Uªº¤¶²Ð…BlaBla...
ajax=Ajax in action ¤¤¤åª©ªº¤¶²Ð…
­ø¡IùØÀY¬O¤¤¤å¦r¡A¦Û¤v¥Înative2asciiÂà´«§a…³o¤]¤£¬O­«ÂI…§Ú­Ì¬O­n¬ÝDWR«ç»ò°µ¨ì¤å¦r´£¥Ü¥\¯à…

¤@¼Ëªº…­n¶}©ñ³o­ÓBookª«¥ó¡A¦bdwr.xml¤¤…

  • dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>
<allow>
<create creator="new" javascript="Book" scope="application">
<param name="class" value="onlyfun.caterpillar.Book"/>
</create>
</allow>
</dwr>

scope³]©w¬°application¡Aªí¥Ü³o­ÓBookª«¥ó¦b¾ã­ÓÀ³¥Îµ{¦¡¶¥¬q³£¬¡µÛ¡C

µM«á¡A«È¤áºÝ¼g­Óºô­¶…
  • book.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<script type='text/javascript' src='dwr/interface/Book.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type='text/javascript' src='book.js'></script>
<title>­Ó¤HµÛ¡þͧ@</title>
</head>
<body>

<div id="ajax" onmouseover="getBookData(this);"
onmouseout="clearData();"><a
href="http://www.gotop.com.tw/waweb2004/home/home.aspx?pg=HM010X&bn=AXP011800">
<small><img
style="border: 0px solid ; width: 80px; height: 110px; float: left;"
alt="Ajax in action ¤¤¤åª©" title="Ajax in action ¤¤¤åª©"
src="images/ajax_in_action_c.jpg" hspace="10" vspace="2"></small></a></div>

<div id="spring" onmouseover="getBookData(this);"
onmouseout="clearData();"><a
href="http://www.gotop.com.tw/waweb2004/home/home.aspx?pg=HM010X&bn=ACL021000">
<small><img
style="border: 0px solid ; width: 80px; height: 110px; float: left;"
alt="Spring §Þ³N¤â¥U" title="Spring §Þ³N¤â¥U"
src="images/SpringTech_S.jpg" hspace="10" vspace="2"></small></a></div>

<div id="java" onmouseover="getBookData(this);"
onmouseout="clearData();"><a
href="http://www.gotop.com.tw/waweb2004/home/home.aspx?pg=HM010X&bn=ACL020931">
<small><img
style="border: 0px solid ; width: 80px; height: 110px; float: left;"
alt="Java ¾Ç²ßµ§°O" title="Java ¾Ç²ßµ§°O"
src="images/JavaGossip_Cover_Small.jpg" hspace="10"
vspace="2"></small></a></div>

<br/><br/><br/><br/><br/><br/>

<div id="info"></div>

</body>
</html>

­«ÂI¦b©óonmouseover¸òonmouseout¡A·Æ¹«²¾¤J»P²¾¥X®É·|©I¥sªº¨ç¦¡¡AÁÙ¦³³Ì¤U­±ªºinfo¡A§ì¦^¨Óªº®ÑÄy¤¶²Ð·|©ñ¨ì·í¤¤…

book.js¦p¤U¡A²³æªº«Ü…
  • book.js
function getBookData(ele) {
Book.getDescription(ele.id, setBookData);
}

function setBookData(description) {
DWRUtil.setValue('info', description);
}

function clearData() {
DWRUtil.setValue('info', '');
}

µ{¦¡«Ü²³æ¡A§ÚÃi±o¸ÑÄÀ¤F…XD

¬Ý¤@¤Uµe­±¦n¤F…³o¬O·Æ¹«²¾¨ì Ajax in action¤¤¤åª©¡]½Ð¦h¦h¤ä«ù³á…Orz¡^¤Wªº¤¶²Ðµe­±…