<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>dwr demo</title> <mce:script type='text/javascript' src="/dwr/dwr/interface/testMethod.js" mce_src="dwr/dwr/interface/testMethod.js"></mce:script> <mce:script type='text/javascript' src="/dwr/dwr/engine.js" mce_src="dwr/dwr/engine.js"></mce:script> <mce:script type='text/javascript' src="/dwr/dwr/util.js" mce_src="dwr/dwr/util.js"></mce:script> <mce:script type="text/javascript"><!-- function TestList(){ testMethod.testList(callbackMethod) } function callbackMethod(data){ for(var property in data){ alert(data[property].name+" "+data[property].age); } } //////////////////// function TestMap(){ testMethod.testMap(callbackMethodMap) } function callbackMethodMap(data){ for(var property in data){ var bean = data[property]; alert(bean.name+" "+bean.age); } } /////////////////////// function testMapList(){ testMethod.testMapList(callbackMethodMapList) } function callbackMethodMapList(data){ for(var property in data){ var bean = data[property]; for(var propertys in bean){ alert(bean[propertys].name+" "+bean[propertys].age); } } } // --></mce:script> </head> <body> <input type="button" name="button" value="测试list" onclick="TestList()"> <input type="button" name="button" value="测试map" onclick="TestMap()"> <input type="button" name="button" value="测试map" onclick="testMapList()"> </body> </html> 在网上看了很多的介绍,但是很多是转载,于是尝试写了下,
后台的java代码
package test; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; public class Test { public List testList() { List<String> list = new LinkedList<String>(); list.add("qincy0"); list.add("qincy1"); list.add("qincy2"); list.add("qincy3"); return list; } public Map testMap() { Map<Integer,String> map = new HashMap<Integer,String>(); map.put(1, "mapqincy1"); return map; } public Map testMapList() { Map<Integer,List<String>> map = new HashMap<Integer,List<String>>(); List<String> list = new LinkedList<String>(); list.add("maplistqincy0"); list.add("maplistqincy1"); list.add("maplistqincy2"); list.add("maplistqincy3"); map.put(12, list); return map; } }
dwr的配置文件
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> <dwr> <allow> <create javascript="testMethod" creator="new"> <param name="class" value="test.Test"></param> </create> </allow> </dwr>
前台的JavaScript代码
<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>dwr demo</title> <mce:script type='text/javascript' src="/dwr/dwr/interface/testMethod.js" mce_src="dwr/dwr/interface/testMethod.js"></mce:script> <mce:script type='text/javascript' src="/dwr/dwr/engine.js" mce_src="dwr/dwr/engine.js"></mce:script> <mce:script type='text/javascript' src="/dwr/dwr/util.js" mce_src="dwr/dwr/util.js"></mce:script> <mce:script type="text/javascript"><!-- function TestList(){ testMethod.testList(callbackMethod) } function callbackMethod(data){ for(var property in data){ alert(data[property]); } } //////////////////// function TestMap(){ testMethod.testMap(callbackMethodMap) } function callbackMethodMap(data1){ for(var property in data1){ var bean = data1[property]; alert(bean); } } /////////////////////// function testMapList(){ testMethod.testMapList(callbackMethodMapList) } function callbackMethodMapList(data){ for(var property in data){ var bean = data[property]; for(var propertys in bean){ alert(bean[propertys]); } } } // --></mce:script> </head> <body> <input type="button" name="button" value="测试list" onclick="TestList()"> <input type="button" name="button" value="测试map" onclick="TestMap()"> <input type="button" name="button" value="测试map" onclick="testMapList()"> </body> </html>
后来进行改进,有基本类型改为对象:
后台的java代码(写的很臃肿。。。):
entity 代码
package test; public class User { private String name; private Integer age; public User() { super(); } public User(String name, Integer age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
servlet” 代码:
“package test; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; public class Test { public List testList() { List<User> list = new LinkedList<User>(); User user1 = new User("qincy1", 24); User user2 = new User("qincy2", 25); User user3 = new User("qincy3", 26); User user4 = new User("qincy4", 27); User user5 = new User("qincy5", 28); list.add(user1); list.add(user2); list.add(user3); list.add(user4); list.add(user5); return list; } public Map testMap() { Map<Integer, User> map = new HashMap<Integer, User>(); User user1 = new User("mapqincy1", 24); User user2 = new User("mapqincy2", 25); User user3 = new User("mapqincy3", 26); User user4 = new User("mapqincy4", 27); User user5 = new User("mapqincy5", 28); map.put(1, user1); map.put(2, user2); map.put(3, user3); map.put(4, user4); map.put(5, user5); return map; } public Map testMapList() { Map<Integer, List<User>> map = new HashMap<Integer, List<User>>(); List<User> list = new LinkedList<User>(); User user1 = new User("mapqincy1", 24); User user2 = new User("mapqincy2", 25); User user3 = new User("mapqincy3", 26); User user4 = new User("mapqincy4", 27); User user5 = new User("mapqincy5", 28); list.add(user1); list.add(user2); list.add(user3); list.add(user4); list.add(user5); map.put(1, list); List<User> list1 = new LinkedList<User>(); User user11 = new User("map1qincy1", 24); User user12 = new User("map2qincy2", 25); User user13 = new User("map3qincy3", 26); User user14 = new User("map4qincy4", 27); User user15 = new User("map5qincy5", 28); list1.add(user11); list1.add(user12); list1.add(user13); list1.add(user14); list1.add(user15); map.put(2, list1); return map; } }
DWR 配置文件
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> <dwr> <allow> <create javascript="testMethod" creator="new"> <param name="class" value="test.Test"></param> </create> <convert match="test.User" converter="bean"> <param name="include" value="name,age"></param> </convert> </allow> </dwr>
开始我用* 代替 name 与age 发现报错,于是改为详细的。
前台JavaScript 代码;
您还没有登录,请您登录后再发表评论
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现Ajax应用。这个"dwR练习实例(各种数据转换list,map,数组等)"是一个用于学习DWR如何处理和转换不同...
DWR简化了客户端与服务器端之间的数据交换,使得开发人员可以方便地调用Java方法并更新网页的动态内容,而无需刷新整个页面。 在提供的示例中,我们首先看到一个名为`test.html`的HTML文件,这是客户端的界面。文件...
Direct Web Remoting (DWR) 是一种开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态Web应用的功能。DWR通过AJAX技术提供了一种简单的方法来调用服务器端的方法并接收返回的结果,极...
在这个"DWR Demo"中,我们将会探讨如何使用DWR框架来处理和展示常见的数据结构,如List、Set和Map。 首先,让我们深入了解DWR的核心功能。DWR允许Java方法直接被JavaScript调用,就像它们是本地函数一样,无需手动...
在这个特定的项目中,"JAVA AJAX中使用dwr获取后台list并在页面用表格显示",我们将探讨如何结合Direct Web Remoting (DWR) 框架来实现这一功能,同时涉及到二级联动的概念。 DWR是一个开源的Java库,它允许...
Direct Web Remoting (DWR) 是一种开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态Web应用的功能。在这个压缩包中,你将找到一系列DWR的例子,涵盖了多种数据类型的返回值,这些...
Direct Web Remoting (DWR) 是一种在Web应用程序中实现AJAX(Asynchronous JavaScript and XML)的技术,它允许JavaScript在客户端与服务器端的Java代码进行交互。DWR简化了这个过程,使得开发者可以轻松地调用...
配置DWR XML文件时,处理List、Set和Map与处理单个JavaBean类似。例如,对于List类型的处理,配置如下: ```xml <dwr> <param name="class" value="com.dwr.TestClass"/> ...
DWR是一种强大且易于使用的Java Ajax框架,它极大地简化了前端与后端之间的交互过程,使得开发者能够更加专注于业务逻辑的实现而非底层的技术细节。无论是对于新手还是经验丰富的开发者来说,DWR都是构建高质量、高...
在DWR中,你可以返回各种Java类型的数据,包括基本类型(如int、String)、自定义对象、集合(如List、Set)和Map等。例如: - 基本类型:在JavaScript端,你可以直接接收服务器返回的数字、字符串等。 - 集合:DWR...
Direct Web Remoting (DWR) 是一种在Java服务器和JavaScript之间进行实时通信的技术,它允许在客户端的JavaScript中调用服务器端的Java方法,并将结果返回到JavaScript中。在这个场景中,我们关注的是如何在DWR回调...
5. **生成JavaScript接口**:DWR会自动生成与Java接口对应的JavaScript接口,供客户端使用。 **使用DWR的基本流程** 1. **客户端初始化**:在HTML页面中引入DWR的JavaScript库,然后调用初始化函数`DWREngine.init...
这篇博客文章“关于使用DWR返回对象List的方法”主要探讨了如何通过DWR框架在Java后端处理数据并以List对象的形式返回给前端JavaScript。 在Web开发中,通常我们需要从服务器获取数据并在客户端展示,DWR通过AJAX...
本案例详细展示了如何在DWR中通过回调函数获取Java方法的返回值。需要注意的是,虽然示例中使用了同步模式来简化获取返回值的过程,但在实际开发中应尽量避免使用同步模式,因为它会导致用户体验不佳。对于复杂的...
本文将详细探讨DWR的配置与使用,尤其是如何在JavaScript环境中调用Java方法,帮助初学者快速掌握这一技能。 #### 一、DWR配置详解:web.xml中的关键设置 ##### 1. 最小配置 在web.xml中,DWR的最基础配置涉及创建...
这个"dwrc和java整合完整版例子"是一个专门为初学者设计的教程,旨在帮助他们理解和实现DWR与Java的集成。 DWR的核心功能在于提供了一个安全且高效的手段,使得JavaScript可以调用服务器端的Java方法,就像它们是...
本文将深入探讨DWR在Ajax应用中的使用,特别是涉及List、Map等数据结构作为参数和返回值时的处理。 **一、DWR概述** DWR的核心功能是提供了一个动态的JavaScript到Java的桥接,使得客户端能够调用服务器上的方法,...
Java+dwr框架实现聊天室是使用Java语言和dwr框架实现的服务器推技术,实现了实时通信的聊天室功能。下面将详细介绍该技术的实现过程和相关知识点。 一、dwr 框架简介 dwr(Direct Web Remoting)是一种基于Ajax...
利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码). 它供给那些想要以一种简单的方式使用AJAX和XMLHttpRequest...
相关推荐
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现Ajax应用。这个"dwR练习实例(各种数据转换list,map,数组等)"是一个用于学习DWR如何处理和转换不同...
DWR简化了客户端与服务器端之间的数据交换,使得开发人员可以方便地调用Java方法并更新网页的动态内容,而无需刷新整个页面。 在提供的示例中,我们首先看到一个名为`test.html`的HTML文件,这是客户端的界面。文件...
Direct Web Remoting (DWR) 是一种开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态Web应用的功能。DWR通过AJAX技术提供了一种简单的方法来调用服务器端的方法并接收返回的结果,极...
在这个"DWR Demo"中,我们将会探讨如何使用DWR框架来处理和展示常见的数据结构,如List、Set和Map。 首先,让我们深入了解DWR的核心功能。DWR允许Java方法直接被JavaScript调用,就像它们是本地函数一样,无需手动...
在这个特定的项目中,"JAVA AJAX中使用dwr获取后台list并在页面用表格显示",我们将探讨如何结合Direct Web Remoting (DWR) 框架来实现这一功能,同时涉及到二级联动的概念。 DWR是一个开源的Java库,它允许...
Direct Web Remoting (DWR) 是一种开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态Web应用的功能。在这个压缩包中,你将找到一系列DWR的例子,涵盖了多种数据类型的返回值,这些...
Direct Web Remoting (DWR) 是一种在Web应用程序中实现AJAX(Asynchronous JavaScript and XML)的技术,它允许JavaScript在客户端与服务器端的Java代码进行交互。DWR简化了这个过程,使得开发者可以轻松地调用...
配置DWR XML文件时,处理List、Set和Map与处理单个JavaBean类似。例如,对于List类型的处理,配置如下: ```xml <dwr> <param name="class" value="com.dwr.TestClass"/> ...
DWR是一种强大且易于使用的Java Ajax框架,它极大地简化了前端与后端之间的交互过程,使得开发者能够更加专注于业务逻辑的实现而非底层的技术细节。无论是对于新手还是经验丰富的开发者来说,DWR都是构建高质量、高...
在DWR中,你可以返回各种Java类型的数据,包括基本类型(如int、String)、自定义对象、集合(如List、Set)和Map等。例如: - 基本类型:在JavaScript端,你可以直接接收服务器返回的数字、字符串等。 - 集合:DWR...
Direct Web Remoting (DWR) 是一种在Java服务器和JavaScript之间进行实时通信的技术,它允许在客户端的JavaScript中调用服务器端的Java方法,并将结果返回到JavaScript中。在这个场景中,我们关注的是如何在DWR回调...
5. **生成JavaScript接口**:DWR会自动生成与Java接口对应的JavaScript接口,供客户端使用。 **使用DWR的基本流程** 1. **客户端初始化**:在HTML页面中引入DWR的JavaScript库,然后调用初始化函数`DWREngine.init...
这篇博客文章“关于使用DWR返回对象List的方法”主要探讨了如何通过DWR框架在Java后端处理数据并以List对象的形式返回给前端JavaScript。 在Web开发中,通常我们需要从服务器获取数据并在客户端展示,DWR通过AJAX...
本案例详细展示了如何在DWR中通过回调函数获取Java方法的返回值。需要注意的是,虽然示例中使用了同步模式来简化获取返回值的过程,但在实际开发中应尽量避免使用同步模式,因为它会导致用户体验不佳。对于复杂的...
本文将详细探讨DWR的配置与使用,尤其是如何在JavaScript环境中调用Java方法,帮助初学者快速掌握这一技能。 #### 一、DWR配置详解:web.xml中的关键设置 ##### 1. 最小配置 在web.xml中,DWR的最基础配置涉及创建...
这个"dwrc和java整合完整版例子"是一个专门为初学者设计的教程,旨在帮助他们理解和实现DWR与Java的集成。 DWR的核心功能在于提供了一个安全且高效的手段,使得JavaScript可以调用服务器端的Java方法,就像它们是...
本文将深入探讨DWR在Ajax应用中的使用,特别是涉及List、Map等数据结构作为参数和返回值时的处理。 **一、DWR概述** DWR的核心功能是提供了一个动态的JavaScript到Java的桥接,使得客户端能够调用服务器上的方法,...
Java+dwr框架实现聊天室是使用Java语言和dwr框架实现的服务器推技术,实现了实时通信的聊天室功能。下面将详细介绍该技术的实现过程和相关知识点。 一、dwr 框架简介 dwr(Direct Web Remoting)是一种基于Ajax...
利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码). 它供给那些想要以一种简单的方式使用AJAX和XMLHttpRequest...