逆战纪元之光预售:Ajax的DWR使用

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 17:35:50
 Ajax的DWR使用 收藏
DWR现在已经在java平台的AJAX应用中使用比较广泛,下面将以前项目中用到的部分内容(测试部分)贴出来,以供参考。
配置使用什么的就不多说了,在网上搜一下就很多,非常简单。
只简单的说一下流程,然后直接把文件中的内容贴出来。具体的使用也可以参考dwr的网站:http://directwebremoting.org/dwr1.首先在web.xml中配置dwr,以便在项目中使用
2.编写java应用,并在dwr.xml中配置(我的dwr.xml在web-info下)。
3.在jsp文件中调用
例如:
TestDwr.java中有一个方法 public String test2(); 如果想在jsp页面中通过ajax方式调用步骤如下:
在dwr.xml中将方法公布出来
1.         2.                 3.                     4.                     5.                     6.                     7.                     8.                     9.                     10.                 11.                 12.                 13.             javascript="testdwr"是指会生成testdwr.js的文件供前台调用。 value="com.yinbo.umpay.test.TestDwr" 是指方法所在的类,creator="new"是构造方法,这里使用new对象的方法,也可以通过spring来管理。这里注意即使用在TestDwr.java中是public方法,也要在配置文件中发布出来才可以访问。
在jsp中调用如下:
先要引入

 
这两个js是支持库,必须引入。然后就是引入

这个testdwr.js是dwr动态生成的,你不用去寻找它放在哪儿。
jsp中的调用function callTestMethod2(){
      testdwr.test2(callBackFortestMethod2);
}function callBackFortestMethod2(data){
     // 其中 date 接收方法的返回值
     // 可以在这里对返回值进行处理和显示等等
 alert("the return value is " + data);
}      value="调用有简单返回值的java方法">
 
这里的调用使用testdwr这个对象引用方法。testdwr.test2(callBackFortestMethod2);  返回值会传入callBackFortestMethod2方法的参数中。
 web.xml1.         2.             3.                 dwr-invoker 4.                 uk.ltd.getahead.dwr.DWRServlet 5.                 6.                     debug 7.                     true 8.                 9.             10.         11.             dwr-invoker 12.             /dwr/* 13.        
 dwr.xml1.         2.         3.          4.         5.             6.          7.                 8.                 9.                     10.                 11.                 12.                 13.                 14.                 15.                 16.                 17.                 18.                      19.                 20.             21.      22.             23.             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.             );  62.                 TestDwr.test9(Map);  63.             ]]> 64.         65.      66.     67.       TestDwr.java1.         package com.yinbo.umpay.test; 2.          3.         import java.util.ArrayList; 4.         import java.util.HashMap; 5.         import java.util.List; 6.         import java.util.Map; 7.          8.         import com.yinbo.umpay.core.po.*; 9.          10.     public class TestDwr { 11.      12.         public void test1() { 13.             try { 14.                 Thread.sleep(5000); 15.             } catch (InterruptedException e) { 16.                 // TODO Auto-generated catch block
17.                 e.printStackTrace(); 18.             } 19.             System.out.println("dwr test1."); 20.         } 21.          22.         public String test2() { 23.             return "dwr test2."; 24.         } 25.          26.         public String test3(String data, String data2) { 27.             System.out.println(data); 28.             System.out.println(data2); 29.             return data + " return " + data2; 30.              31.         } 32.      33.         public Userinfo test4() { 34.             Userinfo u = new Userinfo(); 35.             u.setUserid("sec.peng"); 36.             u.setUsername("peng yuan feng"); 37.             return u; 38.         } 39.          40.         public void test5(Userinfo userinfo) { 41.             System.out.println(userinfo.getUserid()); 42.             System.out.println(userinfo.getUsername()); 43.         } 44.          45.         public List test6() { 46.             Userinfo u1 = new Userinfo(); 47.             Userinfo u2 = new Userinfo(); 48.             u1.setUserid("sec.peng"); 49.             u1.setUsername("peng yuan feng"); 50.             u2.setUserid("www"); 51.             u2.setUsername("www.163.com"); 52.             List list = new ArrayList(); 53.             list.add(u1); 54.             list.add(u2); 55.             return list; 56.         } 57.          58.         public void test7(List list) { 59.             for(int i=0; i 2.          3.         4.             5.                 test dwr 6.                 7.                 8.                 9.                 10.             11.             238.     239.     240.         test dwr 241.        
242.         244.        
245.  246.         248.        
249.  250.         252.        
253.  254.         256.        
257.  258.         260.        
261.          262.         264.        
265.  266.         268.        
269.          270.         272.        
273.          274.         276.        
277.  278.

279. test dwrutil 280.
281.  282. *选中selectRangeBasic文本框里面从第五个字符到第15个字符之间的字符
283.   284. 286. 288.              289.
290.  291. *将数组添加到下拉菜单里面去
292. 294.             296.
297. *得到 addOptionsBasic 对象的值
298.   300.  301.
*得到下拉框 addOptionsBasic 显示的文本
302.    304.  305.
*将数组及值添加到下拉菜单里面去
306. 308.    310.                                312. 314.              315.
*将对象属性及值添加到下拉菜单里面去
316. 318.    320.                                322.                       324.                          325.
326. 328.              329.             331.              332.              333.
334.      335.       

336.             337.             338.             339.             340.             341.             342.        
useridusername
     343.          344.         345.          346.        

347.         348.          349.              350.     351.
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yangdan777/archive/2009/05/30/4226004.aspx