[计算机]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

提交评论