<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>DWRDemo.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type='text/javascript' src='/1102_DWR/dwr/interface/DWRDemo.js'></script>
<script type='text/javascript' src='/1102_DWR/dwr/engine.js'></script>
<script type='text/javascript' src='/1102_DWR/dwr/util.js'></script>
<script type='text/javascript' src='jquery/jquery-1.6.1.js'></script>
<script type="text/javascript">
jQuery.noConflict();
/**
* 调用后台getArray()
* @param {Object} "#bt1"
*/
jQuery(function(){
jQuery("#bt1").click(function(){
DWRDemo.getArray(function(array){
/*
* JS for循环遍历数组
for(var i=0; i<array.length;i++){
alert(array[i]);
}
*/
//JQuery each函数 循环遍历数组
jQuery.each(array,function(i,n){
alert(n);
})
});
});
/**
* 调用后台getList1()
*/
jQuery("#bt2").click(function(){
DWRDemo.getList1(function(array){
//JQuery each函数 循环遍历数组
jQuery.each(array,function(i,n){
alert(n);
})
});
});
/**
* 调用后台getList2()
*/
jQuery("#bt3").click(function(){
DWRDemo.getList2(function(array){
alert(array);
for(var i=0;i<array.length;i++){
for(var j=0;j<array[i].length;j++){
alert(array[i][j]);
}
}
});
});
/**
* 调用后台getList3()
*/
jQuery("#bt4").click(function(){
DWRDemo.getList3(function(array){
alert(array);
/**
*
for(var i=0;i<array.length;i++){
alert(array[i].id);
alert(array[i].name);
}
*/
// for in 循环
for(var i in array){
alert(array[i].id);
alert(array[i].name);
}
jQuery.each(array,function(i,stu){
alert(stu.id);
alert(stu.name);
})
});
});
})
</script>
</head>
<body>
<input type="button" value="getArray()" id="bt1"> <br>
<input type="button" value="getList1()" id="bt2"> <br>
<input type="button" value="getList2()" id="bt3"> <br>
<input type="button" value="getList3()" id="bt4"> <br>
</body>
</html>
dwr.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
"http://getahead.org/dwr/dwr30.dtd">
<dwr>
<allow>
<create creator="new" javascript="DWRDemo">
<param name="class" value="com.wepull.dwr.DWRDemo"></param>
</create>
<convert match="com.wepull.dwr.Student" converter="bean"></convert>
</allow>
</dwr>
后台java
package com.wepull.dwr;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class DWRDemo {
public String[] getArray(){
String str[] = {"a","b","c",};
return str;
}
public List<Integer> getList1(){
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
return list;
}
public List<String[]> getList2(){
List<String[]> list = new ArrayList<String[]>();
String str1[] = {"a","b","c",};
String str2[] = {"c","d","e",};
list.add(str1);
list.add(str2);
return list;
}
public List<Student> getList3(){
List<Student> list = new ArrayList<Student>();
Student s1 = new Student();
Student s2 = new Student();
s1.setId(1);
s1.setName("周立波");
s2.setId(2);
s2.setName("郭德纲");
list.add(s1);
list.add(s2);
return list;
}
public Set<Student> getSet(){
Set<Student> set = new HashSet<Student>();
Student s1 = new Student();
Student s2 = new Student();
s1.setId(1);
s1.setName("周立波");
s2.setId(2);
s2.setName("郭德纲");
set.add(s1);
set.add(s2);
return set;
}
}
分享到:
相关推荐
在“调用带JavaBean参数方法的DWR例子”中,我们将深入探讨如何使用DWR来调用包含JavaBean作为参数的方法。 首先,我们需要理解DWR的基本工作原理。DWR通过创建一个JavaScript接口,该接口映射到服务器上的Java类和...
`myMethod`即Java后台的某个方法名,`param1`和`param2`是参数,`function(response)`是回调函数,用于处理服务器返回的数据。 6. **异步调用** DWR默认采用异步模式,这意味着JavaScript调用Java方法不会阻塞...
这个不是我的原创,原文件出至这里:...原资源包含了,源代码和API Doc,只是美中不足的是没有整理成可用的zip文档,我这特分离了一下,并重新打好包了,初步测试了一下能用。
SpringBoot整合Direct Web Remoting (DWR)是一个常见的技术实践,它允许JavaScript在浏览器端直接调用服务器端的Java方法,极大地增强了Web应用的交互性。在这个过程中,我们通常会结合使用FreeMarker或JSP作为视...
2. **编译**:DWR通过动态生成JavaScript文件,这些文件包含了对服务器端方法的引用,使得客户端可以直接调用。 3. **交互**:在客户端,JavaScript代码可以直接调用这些生成的函数,就像它们是本地函数一样,DWR会...
- 编写`Calculator.java`,定义`add(int num1, int num2)`方法,返回两个参数的和。 - 生成`dwr-generate.js`,确保`Calculator`类和`add`方法被映射。 - 在`index.html`中,引入`dwr-engine.js`和`dwr-generate....
- DWR Engine接收到请求后,根据`dwr.xml`配置调用相应的Java方法。 - 服务器执行Java方法,返回结果。 - DWR将结果转换成JSON或XML格式,并发送回浏览器。 - JavaScript回调函数处理返回的结果,更新DOM元素。 ...
- 通过`MyService`对象调用后台方法,如`myService.myMethod(param1, param2, callback)`,这里的`callback`是处理服务器响应的回调函数。 4. **AJAX通信**: - DWR使用AJAX技术在后台执行Java方法,然后将结果...
将`Ext tree`与`DWR`结合,意味着前端的树形视图可以通过DWR直接调用后台的Java方法来获取或更新数据。例如,当用户展开树的一个节点时,前端可以发送一个DWR调用,请求后台填充该节点的子节点数据。后台处理请求后...
2. **重载方法的不确定性**:当服务器端有多个重载方法时,DWR可能无法确定调用哪个方法,这可能导致不可预测的行为。 #### 五、总结 通过本文的详细介绍,我们了解了DWR的基本安装与配置过程,以及在使用过程中...
如`callTestMethod2`函数中,调用`testMethod2`并传递`callBackFortestMethod2`作为回调函数,当Java方法执行完毕后,`callBackFortestMethod2`会接收到返回的数据。 3. **有简单参数的Java方法调用** 参数的传递...
在"DWR框架对各种类型方法调用的示例"中,我们可以看到DWR是如何处理不同类型的参数和返回值的。以下是对这些示例的详细解析: 1. **无参方法调用**: 当你需要调用一个不接受任何参数的后台方法时,DWR提供了简便...
2. **dwr-2.0.5-src.zip**: 这是DWR 2.0.5版本的源代码压缩包,对于开发者来说,源代码是非常宝贵的资源。通过查看源代码,开发者可以深入理解DWR的工作原理,定制和扩展其功能,或者排查遇到的问题。源代码还包含...
struts2与dwr结合的工具之一,这个是新从官方网站下载的,与大家分享,希望对你们有效。
### DWR中各种Java方法的调用:深入解析与实践 DWR,全称为Direct Web Remoting,是一个创新的框架,旨在简化JavaScript调用Java方法的过程。它利用Ajax技术,实现了网页上的动态交互,无需页面刷新即可更新内容,...
2. **DWR的配置**:学习如何在Web应用的配置文件中添加DWR的相关配置,如`dwr.xml`,定义哪些Java类和方法可供JavaScript调用。 3. **DWR的使用步骤**:了解创建DWR的三个主要步骤:生成JavaScript接口、编写Java...
《DWR:前台调用后台Java类的"Hello, World!"实践详解》 Direct Web Remoting(DWR)是一个开源的Java库,它允许Web应用程序在浏览器和服务器之间进行实时的、安全的通信,实现JavaScript与Java代码的交互。DWR简化...
在解压"Dwr-2.0.5-src.rar"后,你会得到一个名为“dwr-2.0.5-src”的文件夹,这个文件夹中包含了以下关键知识点: 1. **源码结构**:DWR的源代码通常会按照模块进行组织,如核心库、安全模块、测试用例等。通过分析...