[計算機]dwr的一個實例_第1頁
[計算機]dwr的一個實例_第2頁
[計算機]dwr的一個實例_第3頁
[計算機]dwr的一個實例_第4頁
[計算機]dwr的一個實例_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.dwr的一個實例第一:新建項目第二:加載dwr.jar包第三:修改web.xml文件-<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns=" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation=" <!- dwr -> <servlet> <servlet-name>d

2、wr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <!- This should NEVER be present in live -> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <!- R

3、emove this unless you want to use active reverse ajax -> <init-param> <param-name>activeReverseAjaxEnabled</param-name> <param-value>true</param-value> </init-param> <!- By default DWR creates application scope objects when they are first used. This creates

4、them when the app-server is started -> <init-param> <param-name>initApplicationScopeCreatorsAtStartup</param-name> <param-value>true</param-value> </init-param> <!- This enables full streaming mode. It's probably better to leave this out if you are runni

5、ng across the internet -> <init-param> <param-name>maxWaitAfterWrite</param-name> <param-value>-1</param-value> </init-param> <!- For more information on these parameters, see: -/dwr/server/servlet -/dwr/reverse-ajax/confi

6、guration -> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <!- /dwr -> <welcome-file-list> <welcome-file>index.j

7、sp</welcome-file> </welcome-file-list></web-app>-第四:在WEB-INF目錄下 新建dwr.xml文件 配置如下:-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-/GetAhead Limited/DTD Direct Web Remoting 2.0/EN" "/dwr/dwr20.dtd">&l

8、t;dwr> <allow> <!- intro - for the test on index.html -> <create creator="new" javascript="UserManager2"> <param name="class" value="cn.lh.dwr.UserManager2"/> </create> <convert match="cn.lh.bean.dwr.UserInfo" conv

9、erter="bean" /> </allow></dwr>-第五:建立后臺代碼:-bean-package cn.lh.bean.dwr;public class UserInfo private int id; private int areaID; private String name; private int fixFee; public int getId() return id; public void setId(int id) this.id = id; public int getAreaID() return areaID

10、; public void setAreaID(int areaID) this.areaID = areaID; public String getName() return name; public void setName(String name) = name; public int getFixFee() return fixFee; public void setFixFee(int fixFee) this.fixFee = fixFee; /for debug public String toString() return "id: "+

11、id+" areaID:"+areaID+" name:"+name+" fixFee:"+fixFee; -邏輯代碼被dwr暴露的代碼-package cn.lh.dwr;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Random; import cn.lh.bean.dwr.UserInfo;public

12、 class UserManager2 /用于生成用戶唯一的ID private static int userID = 0 ; /區域列表在裝載類時 初始化 private static Map area = new HashMap() ; static for(int i=0;i<4;i+) area.put(1, "a") ; area.put(2, "b") ; area.put(3, "c") ; area.put(4, "d") ; /返回區域列表 public Map getArea() ret

13、urn area ; /* * 根據地區代號提取用戶列表 */ / 根據地區代號提取用戶列表 public List<UserInfo> getUserByAreaID(int areaID) System.out.println("AreaID : "+areaID); List<UserInfo> userList=new ArrayList(); /模擬生成用戶列表 int count=new java.util.Random().nextInt(5)+4; for(int i=1;i<=count;i+) userID+; UserIn

14、fo us=new UserInfo(); us.setId(userID); us.setAreaID(areaID); us.setName("第"+userID+"個用戶"); us.setFixFee(100*i); userList.add(us); return userList; /修改用戶信息 public boolean updateUser(UserInfo userinfor) return true ; public static void main(String args) -第六: 建立jsp文件和相關js文件 及 添加 dw

15、r 相關js文件-直接看jsp文件-<% page language="java" import="java.util.*" pageEncoding="gbk"%><% String path = request.getContextPath(); String basePath = request.getScheme() + ":/" + request.getServerName() + ":" + request.getServerPort() + path + &qu

16、ot;/"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <head> <base href=" <title>My JSP 'userinfor_manager.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta h

17、ttp-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page

18、"> <!-引入dwr的js腳本-> <script src=" <script src=" /></script> <script src=" /></script> <script type="text/javascript"> /定義一個數組,用以緩存表中的用戶信息 var userCach = ; function fill_select_user_area() UserManager2.getArea(callback);function c

19、allback(data) DWRUtil.removeAllOptions("select_user_area"); DWRUtil.addOptions("select_user_area", data);function displayselectUserArea(sua) UserManager2.getUserByAreaID(sua.value, call_table); function call_table(data) dwr.util.removeAllRows("userTable"); var dtable =

20、document.getElementById("userTable"); for (var i = 0; i < data.length; i+) var theUser = datai; var eltr = dtable.insertRow( -1 ); var userTableRowId = 1000 * i; eltr.setAttribute("id",userTableRowId); var idTd = eltr.insertCell( -1 ); idTd.innerHTML= theUser.id ; var areaTd =

21、 eltr.insertCell( -1 ); areaTd.innerHTML=theUser.areaID ; var nameTd = eltr.insertCell( -1 ); nameTd.innerHTML=theU ; var fixFeeTd = eltr.insertCell( -1 ); fixFeeTd.innerHTML=theUser.fixFee ; var editor = eltr.insertCell(-1); var EditorButton = "<input type="button" value=&

22、quot;修改" onclick="editoruser("+theUser.id+");"/>" ; var DeleteButton = "<input type="button" value="刪除" onclick="deleteRowbyid("+theUser.id+","+userTableRowId+");"/>" editor.innerHTML = EditorButton+&q

23、uot; "+DeleteButton ; userCachtheUser.id = theUser ; function deleteRowbyid(userid,rowid) var user = userCachuserid ; if(window.confirm("確定刪除"++"?") var rowToDelete = document.getElementById(rowid); var t_body = document.getElementById("userTable"); t_body

24、.removeChild(rowToDelete) ; /把要編輯的先顯示出來 function editoruser(userid) document.getElementById("editorID").style.visibility ="visible" ; var theUser = userCachuserid ; var demoUser = spanuserid:theUser.id ,iptname:theU,iptarea:theUser.areaID,iptfixFee:theUser.fixFee ; dwr.ut

25、il.setValues(demoUser); /修改用戶信息 function updateUser() var userinfor = new Object(); userinfor.id =dwr.util.getValue("spanuserid"); = dwr.util.getValue("iptname"); userinfor.areaID = dwr.util.getValue("iptarea"); userinfor.fixFee = dwr.util.getValue("

26、iptfixFee"); UserManager2.updateUser(userinfor,callback_user); function callback_user(result) if(result) window.alert("修改成功!"); </script> </head> <body onload="fill_select_user_area();"> 根據區域提取未處理客戶: <select id="select_user_area" onchange="displayselectUserArea(this)"></select> <table border="1">

溫馨提示

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

評論

0/150

提交評論