Dwr入門(mén)操作手冊(cè)_第1頁(yè)
Dwr入門(mén)操作手冊(cè)_第2頁(yè)
Dwr入門(mén)操作手冊(cè)_第3頁(yè)
Dwr入門(mén)操作手冊(cè)_第4頁(yè)
Dwr入門(mén)操作手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Dwr入門(mén)操作手冊(cè)DWR配置和使用設(shè)置DWR的使用是簡(jiǎn)單的:將DWR的jar文件拷入Web應(yīng)用的WEB-INF/lib目錄中,在web.xml中增加一個(gè)servlet聲明,并創(chuàng)建DWR的配置文件。DWR的分發(fā)中需要使用一個(gè)單獨(dú)的jar文件。你必須將DWR servlet加到應(yīng)用的WEB-INF/web.xml中布署描述段中去。 dwr-invoker uk.ltd.getahead.dwr.DWRServlet debug true dwr-invoker /dwr/* 一個(gè)可選的步驟是設(shè)置DWR為調(diào)試模式象上面的例子那樣在servlet描述段中將debug參數(shù)設(shè)為true。當(dāng)DWR在調(diào)試模式

2、時(shí),你可以從HTMl網(wǎng)頁(yè)中看到所有的可訪問(wèn)的Java對(duì)象。包含了可用對(duì)象列表的網(wǎng)頁(yè)會(huì)出現(xiàn)在/WEBAPP/dwr這個(gè)url上,它顯示了對(duì)象的公共方法。所列方法可以從頁(yè)面中調(diào)用,允許你,第一次,運(yùn)行服務(wù)器上的對(duì)象的方法。下圖顯示了調(diào)試頁(yè)的樣子:調(diào)試頁(yè)現(xiàn)在你必須讓DWR知道通過(guò)XMLHttpRequest對(duì)象,什么對(duì)象將會(huì)接收請(qǐng)求。這個(gè)任務(wù)由叫做dwr.xml的配置文件來(lái)完成。在配置文件中,定義了DWR允許你從網(wǎng)頁(yè)中調(diào)用的對(duì)象。從設(shè)計(jì)上講,DWR允許訪問(wèn)所有公布類(lèi)的公共方法,但在我們的例子中,我們只允許訪問(wèn)幾個(gè)方法。下面是我們示例的配置文件: 上面的文件實(shí)現(xiàn)了我們例子中的兩個(gè)目標(biāo)。首先,標(biāo)記告訴D

3、WR將com.yd.pojos.Userss對(duì)象的類(lèi)型轉(zhuǎn)換為聯(lián)合數(shù)組,因?yàn)?,出于安全的原因,DWR默認(rèn)的不會(huì)轉(zhuǎn)換普通bean。第二,標(biāo)記讓DWR暴露出com.yd.imp.UserCol類(lèi)給JavaScript調(diào)用;我們?cè)陧?yè)面中使用JavaScript文件被javascript屬性定義。我們必須注意標(biāo)記,它指明了com.yd.imp.UserCol類(lèi)的哪些方法可用。1: 基本的客戶(hù)端發(fā)送值和接受值過(guò)程:1:導(dǎo)入包dwr.jar2: 修改web。Xml文檔3:編寫(xiě)java處理類(lèi)(代碼從簡(jiǎn))package com.yd.colbean;public class TestDWR public Str

4、ing getHello(String name)return 你好: +name;4:編寫(xiě)Dwr.xml,在其中暴露可以腳本中間調(diào)用的方法。其中javascript=TestDWR指在 客戶(hù)端腳本中調(diào)用的名字。暴露的方法 5:下面編寫(xiě)Test1.jsp先在jsp頁(yè)面中間增加下面的代碼。這個(gè)可以在上面提到的測(cè)試頁(yè)面中間找到,復(fù)制過(guò)來(lái)即可!-這里的代碼是從前面的調(diào)試頁(yè)面復(fù)制過(guò)來(lái)的。function test1() /通過(guò)方法得到值 var s=DWRUtil.getValue(username);/使用getvalue方法得到id為username的值 TestDWR.getHello(s,de

5、l)/調(diào)用getHello方法,第一個(gè)參數(shù)為傳遞的值,最后一個(gè)參數(shù)為回調(diào)程序 /回調(diào)程序,參數(shù)為返回的結(jié)果 function del(data) /將值保存在頁(yè)面的變量中間 DWRUtil.setValue(a,data);/調(diào)用setValue方法來(lái)設(shè)置值 DWRUtil.setValue(rst,data); 下面點(diǎn)擊按鈕就可以通過(guò)ajax向服務(wù)器發(fā)請(qǐng)求。2: 對(duì)表格數(shù)據(jù)進(jìn)行操作剛才我們?cè)诳蛻?hù)端使用文本框和div塊來(lái)輸入數(shù)據(jù)可接受數(shù)據(jù),在這個(gè)中間可以使用下面的方法來(lái)處理數(shù)據(jù)。DWRUtil.getValue(“username”);/這個(gè)方法得到頁(yè)面中間id為username的值DWRUt

6、il.setValue(“rst”,”你好”);/這個(gè)方法設(shè)置頁(yè)面中間id為username的值在客戶(hù)端顯示數(shù)據(jù)還有其他的方式,其中使用比較多的有表格顯示數(shù)據(jù)集合,下拉框顯示多條數(shù)據(jù)。在dwr中間可以使用方法來(lái)比較方便的再客戶(hù)端操作顯示數(shù)據(jù)先看基本的方法DWRUtil.removeAllOptions(rst);/刪除列表中的所有optionDWRUtil.addOptions(rst, goods,id,msg);/添加option對(duì)象,goods是對(duì)象數(shù)組,其屬性id作為option的value值。其屬性msg作為option的text的值DWRUtil.removeAllRows(rst

7、);/刪除tbody中間所有的行DWRUtil.addRows(rst, goods,getid, getmsg);/添加表的行,goods數(shù)組下面例子說(shuō)明:先看后臺(tái)bean:Message.java封裝基本的消息package com.yd.colbean;public class Message private Integer id;private String msg;public Integer getId() return id;public void setId(Integer id) this.id = id;public String getMsg() return msg;p

8、ublic void setMsg(String msg) this.msg = msg;控制類(lèi)package com.yd.colbean;import java.util.ArrayList;import java.util.List;public class UserCol private static List ls=new ArrayList();/模擬得到所有的的消息集合,public List getUserMessage()if(ls.size()2)/如果消息數(shù)量太少,就刪除,另外增加,在實(shí)際中應(yīng)該從數(shù)據(jù)庫(kù)中取值ls.clear();for(int i=0;i6;i+)Mes

9、sage msg=new Message();msg.setId(new Integer(i);msg.setMsg(消息內(nèi)容+i);ls.add(msg);return ls;配置文件Web.xml同上dwr.xml 注意在服務(wù)器返回集合到客戶(hù)端時(shí),需要進(jìn)行轉(zhuǎn)換位javascript的對(duì)象。需要定義convert下面是Test1.jsp同樣需要復(fù)制 到頁(yè)面中間/這個(gè)函數(shù)在點(diǎn)擊按鈕的時(shí)候調(diào)用。首先刪除rst這個(gè)tbody中間的內(nèi)容。然后請(qǐng)求服務(wù)器的方法 function test1() DWRUtil.removeAllRows(rst); userAction.getUserMessage(fillTable); /這里定義對(duì)數(shù)據(jù)的轉(zhuǎn)化規(guī)則,轉(zhuǎn)換規(guī)則是用對(duì)象數(shù)據(jù)中的每一個(gè)對(duì)象來(lái)進(jìn)行轉(zhuǎn)換,返回一個(gè)字符串或其他對(duì)象,顯示在表格的td中間 var getid = function(unit) if (unit.id % 2 = 0) return +unit.id+; else return +unit.id+; ; var getmsg = function(unit) return unit.msg; var bt=function(unit) retur

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論