锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV综合色一区二区三区,mm1313亚洲国产精品无码试看 ,亚洲 日韩经典 中文字幕http://www.tkk7.com/libin2722/category/30614.html铏氬叾蹇冿紝鍙В澶╀笅涔嬮棶錛涗笓鍏跺績錛屽彲娌誨ぉ涓嬩箣瀛︼紱闈欏叾蹇冿紝鍙?zhèn)熷ぉ涓嬩箣鐞嗗Q涙亽鍏跺績錛屽彲鎴愬ぉ涓嬩箣涓氥?/description>zh-cnFri, 04 Apr 2008 04:48:14 GMTFri, 04 Apr 2008 04:48:14 GMT60DWR 鍏ラ杸鑸囨噳鐢紙涓夛級http://www.tkk7.com/libin2722/articles/190766.html紺肩墿紺肩墿Fri, 04 Apr 2008 03:37:00 GMThttp://www.tkk7.com/libin2722/articles/190766.htmlhttp://www.tkk7.com/libin2722/comments/190766.htmlhttp://www.tkk7.com/libin2722/articles/190766.html#Feedback0http://www.tkk7.com/libin2722/comments/commentRss/190766.htmlhttp://www.tkk7.com/libin2722/services/trackbacks/190766.html渚嗗鍊婣JAX鐗堢殑鑱婂ぉ瀹ゅ惂錛佸厛鐪嬬湅鐩存帴浣跨敤AJAX瑕佸浣曞仛鍒幫紝棣栧厛闇瑕佷竴鍊嬬啊鍠殑鑱婂ぉ瀹ervlet…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package onlyfun.caterpillar;
 
import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedList;
import java.util.List;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class ChatRoomServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
private static LinkedList<Message> messages = new LinkedList<Message>();

public ChatRoomServlet() {
super();
}

private List<Message> addMessage(String text) {
if (text != null && text.trim().length() > 0) {
messages.addFirst(new Message(text));
while (messages.size() > 10) {
messages.removeLast();
}
}
 
return messages;
}
 
private List<Message> getMessages() {
return messages;
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Message> list = null;

if("send".equals(request.getParameter("task"))) {
list = addMessage(request.getParameter("msg"));
}
else if("query".equals(request.getParameter("task"))){
list = getMessages();
}
 
PrintWriter out = response.getWriter();
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
 
out.println("<response>");
for(int i = 0; i < list.size(); i++) {
String msg = list.get(i).getText();
out.println("<message>" + msg + "</message>");
}
out.println("</response>");
}
}


Message鐗╀歡濡備笅…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package onlyfun.caterpillar;
 
public class Message {
private long id = System.currentTimeMillis();
private String text;

public Message(String newtext) {
text = newtext;
if (text.length() > 256) {
text = text.substring(0, 256);
}
text = text.replace('<', '[');
text = text.replace('&', '_');
}
 
public long getId() {
return id;
}
 
public String getText() {
return text;
}
}


Servlet鎺ュ彈璦婃伅鏂板鑸囨煡瑭紝鍒ゆ柗鐨勬柟寮忔槸妾㈡煡璜嬫眰鍙冩暩task鏄痵end鎴杚uery銆?

Servlet鏈冧互XML鍌沖洖鐩墠List鐣朵腑鐨勮▕鎭紝瀹㈡埗绔彲浠ユ煡瑭㈡垨鎻掑叆鏂拌▕鎭檪錛屽彇寰楃洰鍓峀ist涓殑璦婃伅錛屾帴钁楀湪web.xml涓ō瀹氫竴涓?#8230;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description>
</description>
<display-name>
ChatRoomServlet</display-name>
<servlet-name>ChatRoomServlet</servlet-name>
<servlet-class>
onlyfun.caterpillar.ChatRoomServlet</servlet-class>
</servlet>
 
<servlet-mapping>
<servlet-name>ChatRoomServlet</servlet-name>
<url-pattern>/ChatRoomServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>


鍦ㄧ恫闋佷腑錛屼嬌鐢ㄨ呭彲浠ュ湪杓稿叆璦婃伅寰屾寜涓嬫寜閳曢佸嚭璩囪▕錛屼甫鍦╔ML鍥炴噳鍙栧緱鏅傦紝灝囪▕鎭互涓鍒椾竴鍒楃殑琛ㄦ牸鏂瑰紡欏ず鍑轟締錛屽彟澶栭倓璦畾浜嗛辨湡鎬х殑杓錛屽嵆浣夸笉杓稿叆鏂拌▕鎭紝涔熷彲浠ラ辨湡鎬х殑鍙栧緱鏂扮殑鑱婂ぉ璦婃伅…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>Chat Room</title>
 
<script type="text/javascript">
var xmlHttp;
 
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
 
function sendMessage() {
var msg = document.getElementById("text").value;

if(msg == "") {
refreshMessage();
return;
}

var param = "task=send&msg=" + msg;
ajaxRequest(param);
document.getElementById("text").value = "";
}
 
function queryMessage() {
var param = "task=query";
ajaxRequest(param);
}
 
function ajaxRequest(param) {
var url = "ChatRoomServlet?timestamp" + new Date().getTime();
createXMLHttpRequest();
xmlHttp.onreadystatechange = refreshMessage;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded;");
xmlHttp.send(param);
}

function refreshMessage() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
var messages = xmlHttp.responseXML.getElementsByTagName("message");

var table_body = document.getElementById("dynamicUpdateArea");
var length = table_body.childNodes.length;
for (var i = 0; i < length; i++) {
table_body.removeChild(table_body.childNodes[0]);
}

var length = messages.length;
for(var i = length - 1; i >= 0 ; i--) {
var message = messages[i].firstChild.data;
var row = createRow(message);

table_body.appendChild(row);
}
setTimeout("queryMessage()", 2000);
}
}
}
 
function createRow(message) {
var row = document.createElement("tr");
var cell = document.createElement("td");
var cell_data = document.createTextNode(message);
cell.appendChild(cell_data);
row.appendChild(cell);
return row;
}
 
</script>
 
</head>
<body>
 
<p>
Your Message:
<input id="text"/>
<input type="button" value="Send"
onclick="sendMessage()"/>
</p>
 
<p>Messages:</p>
<table align="left">
<tbody id="dynamicUpdateArea"></tbody>
</table>
 
</body>
</html>


綈″柈鎶撳嬬暙闈?#8230; 


鐩存帴鐢ˋJAX錛屽緦绔敤JSP/Servlet錛屾?zhèn)ㄨ灏嶈珛姹傚弮鏁稿仛浜涘垽鏂峰Q岀湅鐪嬫槸鏂板璦婃伅鎴栨煡瑭紝涓﹁鑷杓稿嚭XML錛屾湁鐨勬矑鐨?#8230;

鏀規(guī)垚DWR鐨勮┍錛屽氨寰堢啊鍠簡錛屽鍊嬬啊鍠殑Java鐗╀歡…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package onlyfun.caterpillar;
 
import java.util.LinkedList;
import java.util.List;
 
public class Chat {
private static LinkedList<Message> messages = new LinkedList<Message>();
 
public List addMessage(String text) {
if (text != null && text.trim().length() > 0) {
messages.addFirst(new Message(text));
while (messages.size() > 10) {
messages.removeLast();
}
}

return messages;
}
 
public List getMessages() {
return messages;
}
}


鎺ヨ憲…鍦╠wr.xml涓枊鏀句竴涓?#8230;
1
2
3
4
5
6
7
8
9
10
11
12
13
<?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="Chat">
<param name="class" value="onlyfun.caterpillar.Chat"/>
</create>

<convert converter="bean" match="onlyfun.caterpillar.Message"/>
</allow>
</dwr>


浣跨敤鑰呭彇寰楄▕鎭檪錛屾槸鐩存帴鍌沖洖List鐗╀歡錛岃孡ist涓鐨勬槸Message鐗╀歡錛孧essage鐗╀歡鏄嚜璦傜墿浠訛紝conterver璦畾鐐?bean錛岃〃紺篋WR鏈冭嚜鍕曞皣Message鐨刧etter鍚嶇ū杞夋彌鐐哄偝鍥炲鎴剁鐨凧avaScript鐗╀歡涓殑灞э紝渚嬪Message涓湁 getText()錛屽墖鍦ㄥ鎴剁鍙互鐢╩essage.text閫欐ǎ鐨勬柟寮忎締瀛樺彇銆?

鎺ヨ憲鏄啊鍠殑瀹㈡埗绔恫闋?#8230;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>Insert title here</title>
 
<script src="dwr/interface/Chat.js" type="text/javascript"></script>
<script src="dwr/engine.js" type="text/javascript"></script>
<script src="dwr/util.js" type="text/javascript"></script>
 
<script type="text/javascript">
function sendMessage() {
var text = DWRUtil.getValue("text");
DWRUtil.setValue("text", "");
Chat.addMessage(text, gotMessages);
}
 
function gotMessages(messages) {
var chatlog = "";
for (var data in messages) {
chatlog = "<div>" + messages[data].text +
"</div>" + chatlog;
}
DWRUtil.setValue("chatlog", chatlog);
setTimeout("queryMessage()", 2000);
}
 
function queryMessage() {
Chat.getMessages(gotMessages);
}
</script>
 
</head>
<body>
 
<p>
Your Message:
<input id="text"/>
<input type="button" value="Send"
onclick="sendMessage()"/>
</p>
 
<p>Messages:</p>
<div id="chatlog"></div>
 
</body>
</html>


鐣禠ist鐗╀歡鍌沖洖鏅傦紝瀹冩垚鐐篻otMessages(messages)涓殑messages鐗╀歡錛岃宮essages鐗╀歡涓寘鎷?Message鐗╀歡杞夋彌寰屽皪鎳夌殑JavaScript鐗╀歡錛岀敱鏂兼垜鍊戝凡綞撹ō瀹氫簡Converter錛屾墍浠ュ彲浠ョ敤messages[data].text渚?鍙栧緱鍌沖洖鐨勮▕鎭?#8230;

綈″柈鎶撳嬬暙闈?#8230;



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1311605



紺肩墿 2008-04-04 11:37 鍙戣〃璇勮
]]>
DWR 鍏ラ杸鑸囨噳鐢紙浜岋級http://www.tkk7.com/libin2722/articles/190765.html紺肩墿紺肩墿Fri, 04 Apr 2008 03:35:00 GMThttp://www.tkk7.com/libin2722/articles/190765.htmlhttp://www.tkk7.com/libin2722/comments/190765.htmlhttp://www.tkk7.com/libin2722/articles/190765.html#Feedback0http://www.tkk7.com/libin2722/comments/commentRss/190765.htmlhttp://www.tkk7.com/libin2722/services/trackbacks/190765.html鍋囪ō鎮(zhèn)ㄨ寰炶硣鏂欏韓涓煡瑭㈠嚭涓浜涘瓧涓詫紝鐒跺緦濉鍒拌〃鍠殑涓嬫媺閬稿柈涓?

渚嬪涓鍊嬬ず鎰忕殑Java紼嬪紡濡備笅錛?
1
2
3
4
5
6
7
8
package onlyfun.caterpillar;
 
public class Option {
public String[] getOptions() {
// 瀵﹂殯涓婇欎簺瀛椾覆鏄緸璩囨枡搴腑鏌ュ埌鐨勫暒…
return new String[] {"鑹憶鏍?, "姣涚編鐪?, "綾沖皬鐙?};
}
}


鍌沖洖鐨勫瓧涓查櫍鍒楋紝鎮(zhèn)ㄨ濉鍒頒笅鎷夐伕鍠腑錛岀暥鐒訛紝棣栧厛鎴戝戣鍦╠wr.xml涓枊鐧奸欏嬬墿浠?#8230;
1
2
3
4
5
6
7
8
9
10
<?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="OPT">
<param name="class" value="onlyfun.caterpillar.Option"/>
</create>
</allow>
</dwr>


閫欐槸鎴戝戠殑綞查爜…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<script src="option.js" type="text/javascript"></script>
<script src="dwr/interface/OPT.js" type="text/javascript"></script>
<script src="dwr/engine.js" type="text/javascript"></script>
<script src="dwr/util.js" type="text/javascript"></script>
 
</head>
 
<body>
閬擱爡: <select id="opts"></select>
</body>
</html>


鍌沖洖鐨勫瓧涓查櫍鍒楁渻濉叆opts閫欏媠elect涓紝鎴戝戠殑option.js濡備笅…
1
2
3
4
5
6
7
8
window.onload = function() {
OPT.getOptions(populate);
};
 
function populate(list){
DWRUtil.removeAllOptions("opts");
DWRUtil.addOptions("opts", list);
}


澶犵啊鍠簡…涓嶉渶瑕佽В閲嬩簡…

鐪嬩竴涓嬬祼鏋?#8230; 


濂藉暒錛佹垜鐭ラ亾鏈変漢鍦ㄨ浜嗭紝閫欏嬬▼寮忔湁澶犵劇鑱?#8230;Dead

鏀逛竴涓嬶紒灝辨槸鍊嬩笉閷殑綃勪緥浜嗭紝渚嬪閫e嫊鏂瑰錛屽敂錛佸湪Ajax in action涓彨鍟ワ紵Dynamic double combo錛?#8230;

鍋囪ō涓鍊嬫渻鍘誨緸璩囨枡搴腑鏌ヨ璩囨枡鐨凧ava紼嬪紡紺烘剰濡備笅錛?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package onlyfun.caterpillar;
 
import java.util.Map;
import java.util.TreeMap;
 
public class Bike {
  private Map<String, String[]> bikes;
  
  public Bike() {
    bikes = new TreeMap<String, String[]>();
    bikes.put("2000", new String[] {"2000 T1", "2000 T2", "2000 T3"});
    bikes.put("2001", new String[] {"2001 A1", "2001 A2"});
    bikes.put("2002", new String[] {"2002 BW1", "2002 BW2", "2002 BW"});
    bikes.put("2003", new String[] {"2003 S320"});
    bikes.put("2004", new String[] {"2004 TA1", "2004 TA2", "2004 TA3"});
  }
  
  public String[] getYears() {
    String[] keys = new String[bikes.size()];
    int i = 0;
    for(String key : bikes.keySet()) {
      keys[i++] = key;
    }
    return keys;
  }
  
  public String[] getBikes(String year) {
    return bikes.get(year);
  }
}


getYears()璺焔etBkies()鍒嗗垾琛ㄧず鐢㈠搧鐨勫勾浠借窡鍨嬭櫉錛岄欓倞鐢∕ap妯℃摤錛屽闅涗笂璩囨枡鏄締鑷硣鏂欏韓鐨勬煡瑭€?

涓妯g殑錛屽湪dwr.xml涓ō瀹氾細
1
2
3
4
5
6
7
8
9
10
<?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="Bike" scope="application">
<param name="class" value="onlyfun.caterpillar.Bike"/>
</create>
</allow>
</dwr>


鎴戝戞渻鏈夊嬭叧韙忚粖騫翠喚鑸囧瀷铏熸煡瑭㈤爜闈細
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>Insert title here</title>
<script type='text/javascript' src='dwr/interface/Bike.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='bike.js'></script>
</head>
<body onload="refreshYearList();">
  騫翠喚錛?lt;select id="years" onchange="refreshBikeList();"></select><br/><br/>
  鍨嬭櫉錛?lt;select id="bikes"></select><br/>
</body>
</html>


娉ㄦ剰錛屽湪閬稿畬絎竴鍊嬪勾浠藉緦錛屾渻瑙哥櫦onchange浜嬩歡錛屾帴钁楃浜屽嬩笅鎷夐伕鍠渻鑷嫊濉笂灝嶆噳騫翠喚鐨勫瀷铏燂紝鑰屼笉鏄寜閳曟寜涓嬶紝鍐嶅幓鍙栧緱絎簩鍊嬩笅鎷夐伕鍠紝鐒跺緦refresh...blah...blah...

bike.js濡備笅…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function refreshYearList() {
Bike.getYears(populateYearList);
}
 
function populateYearList(list){
DWRUtil.removeAllOptions("years");
DWRUtil.addOptions("years", list);
refreshBikeList();
}
 
function refreshBikeList() {
var year = $("years").value;
Bike.getBikes(year, populateBikeList);
}
 
function populateBikeList(list){
DWRUtil.removeAllOptions("bikes");
DWRUtil.addOptions("bikes", list);
}


涓妯e緢綈″柈…

鐪嬪嬬劇鑱婄殑鐣潰…XD






紺肩墿 2008-04-04 11:35 鍙戣〃璇勮
]]>
DWR 鍏ラ杸鑸囨噳鐢紙涓錛?http://www.tkk7.com/libin2722/articles/190764.html紺肩墿紺肩墿Fri, 04 Apr 2008 03:34:00 GMThttp://www.tkk7.com/libin2722/articles/190764.htmlhttp://www.tkk7.com/libin2722/comments/190764.htmlhttp://www.tkk7.com/libin2722/articles/190764.html#Feedback0http://www.tkk7.com/libin2722/comments/commentRss/190764.htmlhttp://www.tkk7.com/libin2722/services/trackbacks/190764.htmlhttp://getahead.ltd.uk/dwr/ 涓嬭級 dwr.jar錛屾斁鍒癢EB-INF/lib涓?#8230;

璨犺鉑铏曠悊瀹㈡埗绔珛姹傦紝涓﹀懠鍙獼ava鐗╀歡鐨勬槸DWRServlet錛孌WR鍏跺涔熸湁浜汳odel 2鐨勫懗閬擄紝鍙槸View鐨勯欎竴灞ゆ瘮杓冨急錛屽洜鐐烘斁鍒板鎴剁鐨凧avaScript鎳夌敤紼嬪紡涓?#8230;

鍦╳eb.xml涓姞鍏WRServlet…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
ajaxDWR</display-name>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<description>
</description>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>


鎺ヤ笅渚嗗鍊嬬啊鍠殑Hello鍚э紒
1
2
3
4
5
6
7
package onlyfun.caterpillar;
 
public class Hello {
public String hello(String name) {
return "鍝堝泬錛? + name + "錛佹?zhèn)ㄧ殑绗竴鍊婦WR錛?;
}
}


瀹㈡埗绔鍛煎彨閫欏婮ava鐗╀歡錛屽偝緄﹀畠鍙冩暩錛岃屽緦鍌沖洖涓鍊嬪瓧涓詫紝瀹㈡埗绔啀欏ず閫欏嬪瓧涓詫紝紲炲錛熷叾瀵︽槸瑕佸憡璦碊WRServlet閫欎歡浜嬶紝閫欓渶瑕佷竴鍊媎wr.xml錛?
1
2
3
4
5
6
7
8
9
10
11
<?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="Hello">
<param name="class" value="onlyfun.caterpillar.Hello" />
</create>
</allow>
</dwr>


creator璦畾鐐簄ew錛岃〃紺轟嬌鐢℉ello鐨勭劇鍙冩暩寤烘瀛愪締鐢熸垚鐗╀歡錛宩avascript璦畾鐐篐ello錛岃〃紺哄鎴剁JavaScript紼嬪紡鍙互浣跨敤Hello渚嗗懠鍙皪鎳夌殑onlyfun.caterpillar.Hello鐗╀歡銆?

渚嗗鍊嬪鎴剁鐨勭恫闋侊紝鐣朵腑鏈変竴鍊嬭幾鍏ユ瑒浣?#8230;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>絎竴鍊婦WR紼嬪紡</title>
<script type='text/javascript' src='dwr/interface/Hello.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='hello.js'></script>
</head>
<body>
 
<input id="user" type="text" />
<input type='button' value='鍝堝泬' onclick='hello();' />
 
<div id="result"></div>
 
</body>
</html>


dwr/interface/Hello.js鏄敱DWRServlet鏍規(guī)摎dwr.xml涓殑璦畾鐢熸垚鐨勶紝engine.js璨犺鉑瀹㈡埗绔己鏈嶇婧濋氾紝util.js鏄竴浜涘ソ鐢ㄧ殑JavaScript紼嬪紡錛屽彲浠ヨ畵鎮(zhèn)ㄥ皯瀵緢澶欽avaScript銆?

hello.js鏄垜鍊戣嚜璦傜殑鍑藉紡錛屾寜涓嬫寜閳曞緦錛屾渻鍛煎彨鐣朵腑鐨刪ello()鍑藉紡錛?
1
2
3
4
5
6
7
8
function hello() {
var user = $('user').value;
Hello.hello(user, callback);
}
 
function callback(msg) {
DWRUtil.setValue('result', msg);
}


${'user'}鍙栧緱杓稿叆嬈勪綅鐨凞OM鐗╀歡錛寁alue鍙栧緱鐣朵腑鐨勬瑒浣嶅鹼紝鑰屽緦鍛煎彨Hello.hello()錛屼甫灝噕alue鐣朵綔鍙冩暩鍌抽?#8230; 緄愭灉鏄懠鍙玈erver绔殑Hello Java鐗╀歡錛岀暥緄愭灉鍌沖洖寰岋紝鏈冨懠鍙獼avaScript鐨刢allback鍑藉紡錛孌WRUtil鐨剆etValue()鏂規(guī)硶鏈冨皣鍌沖洖鐨刴sg璦畾緄︽寚瀹?id鐨凞OM錛岀祼鏋滃氨鏄?#8230;鍟ワ紒AJAX鐨勫姛鑳藉湪鍝?#8230;灝遍欏嬭岃█灝辨槸鐧煎嚭闈炲悓姝ヨ珛姹傦紝鑰屽洖鎳変笉鐢≧efresh闋侀潰鍟︼紒 


濂藉暒錛侀欏嬬劇鑱婄殑Hello DWR鍙互鍋氬暐錛?#8230;XD

宸茬稉鍙互璁撴?zhèn)ㄥ仛鍊嬬啊鍠殑鏂囧瓧鎻愮ず鍔熻兘浜?#8230;鍍忛欏?#8230;
http://caterpillar.onlyfun.net/Gossip/index.html

鎶婃粦榧犳寚鍒版浉鐨勭収鐗囦笂錛屾渻欏ず鎻愮ず鏂囧瓧錛岄欎簺鎻愮ず鏂囧瓧鏈韓涓嶆槸瀛樺湪綞查爜涓婄殑錛岃屾槸鍦⊿erver绔紝鐣舵粦榧犳寚鍒版浉涓婃檪錛屾渻鐢≧equest object鍘繪姄錛岀劧寰岄’紺哄湪妗嗘涓?#8230;

鐣剁劧錛佹垜鐨勭恫绔欏彧鏀彺PHP錛屾墍浠ラ偅涓嶆槸DWR瀹屾垚鐨勫姛鑳斤紝鑰屼笖鎴戞槸鐩存帴鐢≧equest object璺烡OM鍘繪參鎱㈠埢鐨?#8230;灝嶅垵瀛歌呬締瑾凡綞撴湁浜涢夯鐓╀簡…XD

涓嶉亷錛佺敤DWR灝卞彲浠ュ緢綈″柈瀹屾垚閫欏嬪姛鑳?#8230;

鍏堝鍊婮ava欏炲垾鍚э紒鏈冩姄properties妾旀涓殑鏂囧瓧璦婃伅錛屼緥濡?#8230;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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);
}
}


寰炵▼寮忎腑灝辯煡閬擄紝瀹冩渻鍘繪姄book_zh_TW.properties鐨勮硣鏂欙紝閫欎笉鏄噸榛炲暒錛佸彧鏄疛ava鐨勪竴鍊嬪姛鑳斤紝鎴戝戣鐪嬬殑鏄疍WR錛屼笉閬庡厛鎶奲ook_zh_TW.properties婧栧倷濂?#8230;
1
2
3
java=Java 瀛哥繏絳嗚鐨勪粙绱?… BlaBla...
spring=Spring 鎶琛撴墜鍐婄殑浠嬬垂…BlaBla...
ajax=Ajax in action 涓枃鐗堢殑浠嬬垂…


鍞旓紒瑁忛牠鏄腑鏂囧瓧錛岃嚜宸辯敤native2ascii杞夋彌鍚?#8230;閫欎篃涓嶆槸閲嶉粸…鎴戝戞槸瑕佺湅DWR鎬庨杭鍋氬埌鏂囧瓧鎻愮ず鍔熻兘…

涓妯g殑…瑕侀枊鏀鵑欏婤ook鐗╀歡錛屽湪dwr.xml涓?#8230;
1
2
3
4
5
6
7
8
9
10
11
<?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璦畾鐐篴pplication錛岃〃紺洪欏婤ook鐗╀歡鍦ㄦ暣鍊嬫噳鐢ㄧ▼寮忛殠孌甸兘媧昏憲銆?

鐒跺緦錛屽鎴剁瀵嬬恫闋?#8230;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!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>鍊嬩漢钁楋紡璀綔</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 鎶琛撴墜鍐? title="Spring 鎶琛撴墜鍐?
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 瀛哥繏絳嗚" title="Java 瀛哥繏絳嗚"
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>


閲嶉粸鍦ㄦ柤onmouseover璺無nmouseout錛屾粦榧犵Щ鍏ヨ垏縐誨嚭鏅傛渻鍛煎彨鐨勫嚱寮忥紝閭勬湁鏈涓嬮潰鐨刬nfo錛屾姄鍥炰締鐨勬浉綾嶄粙绱規(guī)渻鏀懼埌鐣朵腑…

book.js濡備笅錛岀啊鍠殑寰?#8230;
1
2
3
4
5
6
7
8
9
10
11
function getBookData(ele) {
Book.getDescription(ele.id, setBookData);
}
 
function setBookData(description) {
DWRUtil.setValue('info', description);
}
 
function clearData() {
DWRUtil.setValue('info', '');
}


紼嬪紡寰堢啊鍠紝鎴戞嚩寰楄В閲嬩簡…XD

鐪嬩竴涓嬬暙闈㈠ソ浜?#8230;閫欐槸婊戦紶縐誨埌 Ajax in action涓枃鐗?/font> 涓婄殑浠嬬垂鐣潰…



紺肩墿 2008-04-04 11:34 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲av日韩综合一区在线观看| 男人j进入女人j内部免费网站| 亚洲国产成AV人天堂无码| 午夜亚洲福利在线老司机| AA免费观看的1000部电影| 国产精品免费大片| 国产成人无码精品久久久免费| 亚洲乱理伦片在线观看中字| 久久久久久亚洲精品成人| 中文字幕中韩乱码亚洲大片| 国产jizzjizz视频免费看| 久久久久久免费视频| 4399影视免费观看高清直播| 九九热久久免费视频| 视频免费1区二区三区| 怡红院亚洲红怡院在线观看| 2019亚洲午夜无码天堂| 亚洲第一永久在线观看| 亚洲欧洲日韩不卡| 亚洲AV无码一区二区二三区软件| 亚洲国产人成中文幕一级二级| 国产又大又长又粗又硬的免费视频 | 亚洲国产精品一区二区三区在线观看 | 亚洲无圣光一区二区| 亚洲男人第一av网站| 亚洲av无码精品网站| 久久久亚洲欧洲日产国码农村| 亚洲爆乳无码专区| 亚洲大成色www永久网站| 国产精品亚洲а∨无码播放| 浮力影院亚洲国产第一页| 亚洲午夜av影院| 亚洲色精品aⅴ一区区三区| 久久影院亚洲一区| 亚洲欧洲日产国码无码久久99| 亚洲综合无码AV一区二区| 亚洲国产精品无码久久久秋霞2| 亚洲va久久久噜噜噜久久狠狠 | 蜜桃成人无码区免费视频网站| 久久久久国产精品免费看| 特级无码毛片免费视频尤物|