向DWR传递map/list,返回list/map操作方法
1/dwr class
public List xxxxx(List<Model> list){
//从前台获得对象数据
for (Iterator i = list.iterator(); i.hasNext();) {
Model m = (Model) i.next();//迭代出 model 对象
System.out.println(m.getUsername()+"-----------"+m.getPassword()); //调用对象方法
}
//封装对象传到前台
Map map1 = new HashMap();
map1.put("username", "zht1");
map1.put("password", "aaa");
Map map2 = new HashMap();
map2.put("username", "zht2");
map2.put("password", "bbb");
list=new ArrayList();
list.add(map1);
list.add(map2);
return list;
}
2/dwr 配置文件
<allow>
<!-- 转换dwr类 显示可调用方法 这里可以换做Spring管理-->
<create creator="new" javascript="dwrService">
<param name="class" value="com.dwr.AjaxAction" />
<include method="xxxxx" />
</create>
<!-- 转换实体类(后台转换时用到,必须有) -->
<convert converter="bean" match="com.model.Model" />
</allow>
<signatures>
<![CDATA[
import java.util.*;<!-- dwr后台接收参数时用到list/map,必须有 -->
import com.model.*;<!-- dwr后台接收参数时用到Test,必须有 -->
import com.dwr.*;<!-- 引入待转换的dwr类,必须有 -->
AjaxAction.xxxxx(List<Test>);<!-- 引入待转换的dwr类方法,必须有 -->
]]>
</signatures>
3/页面调用
//map对象
var map = {
"key1" : {
username : "user1",
password : "password1"
},
"key2" : {
username : "user2",
password : " password2"
}
};
//list对象
var list = [ {
username : "user1",
password : "password1"
}, {
username : "user2",
password : " password2"
} ];
//dwr向后台传递对象,并解析后台返回的对象
dwrService.xxxxx(list, function(msg) {
for ( var i = 0; i < msg.length; i++) {
//alert(msg[i]);//这里是后天返回的list数组
for ( var key in msg[i]) {
alert(key);//这里是返回list数组中的map数组
alert(msg[i][key]);//value
}
}
});
分享到:
相关推荐
在“dwr入门例子 返回list”这个主题中,我们将深入探讨如何使用DWR从服务器返回列表数据到客户端。列表通常包含多个项目,如数据库查询结果,这些数据可以在网页上以表格或其他形式展示给用户。DWR提供了方便的方法...
在这个例子中,`MyClass`的`getListOfObjects`方法返回一个List,DWR会自动将其转化为JavaScript数组供前端使用。 接着,我们来看看Map的转换。DWR可以将HashMap或其他Map实现转换为JavaScript的对象(Object)。...
通过上述示例可以看出,在DWR中处理List、Set和Map等集合类型的关键在于正确配置DWR XML文件,并编写合适的客户端JavaScript代码来调用服务端的方法及处理返回的数据。这种方式大大简化了前后端之间的数据交换过程,...
这通常涉及到创建一个DWR的实例,然后调用相应的方法,传递参数,并处理返回的结果。在这个DEMO中,可能会有示例代码展示如何获取和显示由服务器返回的集合内容。 4. **展示数据**:DWR返回的数据会被JavaScript...
例如,Java方法返回一个`List<JavaBean>`,DWR会将其转换为JavaScript数组,每个元素都是对应的JavaScript对象。你可以在JavaScript中使用`for`循环遍历并访问这些对象。 此外,DWR提供了错误处理、安全控制、缓存...
例如,一个Java方法可能返回一个包含多个实体对象的List,这些对象在JavaScript中将以数组的形式呈现。你可以遍历这个数组并在前端进行展示或操作。 4. **List和Map数据结构**: 这些是更灵活的数据结构,允许你...
当Java方法返回`List`、`Map`或`Set`等集合类型时,DWR同样会自动转换成JavaScript数组或对象。对于`List`,JavaScript端会得到一个数组,可以使用数组方法进行操作;对于`Map`,会转换为JavaScript对象,可以通过...
接下来,可以编写JavaScript代码来调用`DealerMonitor`对象的方法,传递各种类型的数据(如List、Map等),并接收响应结果,实现动态页面更新和数据处理。 总之,DWR提供了一种直观且高效的方式,让前端JavaScript...
DWR(Direct Web Remoting)是一种基于Java的AJAX框架,用于实现Web应用程序的远程方法调用。下面是DWR配置的详细解释: 一、配置环境 1. 导入DWR的依赖jar包,包括dwr.jar和commons-logging.jar。 2. 在web.xml...
当Java方法返回List、Set或Map时,如`callTestMethod6`,返回的数据可以通过回调函数`callBackFortestMethod6`获取。如果列表元素是基本类型或特定复杂类型,无需在`dwr.xml`中特别声明。 7. **有List、Set或Map...
本课件主要涵盖了DWR的基本用法和常见操作,包括数据类型的处理、List和Map的返回以及DWR上下文的获取。 一、DWR的基本原理 DWR的核心思想是通过动态生成JavaScript接口,使得JavaScript可以直接调用服务器端的...
下面我们将详细探讨DWR的配置和使用方法。 首先,配置DWR涉及以下几个关键步骤: 1. **引入DWR库**:在项目中添加dwr.jar,这是DWR的核心库,包含了所有必要的类和接口。 2. **创建Java类**:定义你需要在客户端...
public String dwrtest(String a, String b, List<String> s,Map,String>map) { StringBuilder strbui = new StringBuilder(); strbui.append(a).append(",").append(b).append(","); for (String str : s) { ...
1. **处理List**: 当Java方法的参数是一个`List`时,JavaScript端可以将对象包装在数组中传递。例如,如果你有一个包含用户信息的`List`,在JavaScript中可以这样创建数据: ```javascript var users = [ {username...
2. **列表(List)**操作:DWR支持传递和返回Java集合,包括List。在JavaScript端,可以接收一个由Java List转换来的数组,然后对其进行遍历、添加、删除等操作。这极大地扩展了前端的处理能力,使得动态更新列表数据...
从java中传递null值到javascript是没有任何危险性的,所以DWR将这个作为默认的converter,所以你自己不用再把这个converter添加到配置文件的部分中去. 基本类型的converter转换int,boolean,double等.当然还包括对应的...
`Dealer`类的实例可以通过`bean`转换器自动映射到JavaScript对象,而`Monitor`类的方法如`setDealers`和`setDealersMap`允许接收`List<Dealer>`和`Map, Dealer>`类型的参数。 接下来,让我们看看具体的Java类。`...
DWR通过AJAX技术提供了一种简单的方法来调用服务器端的方法并接收返回的结果,极大地提高了用户体验。在DWR中,处理各种类型的返回值是其强大功能的一部分,它支持多种数据类型,包括基本类型、对象、数组、集合、...
这里的`DWRUserService`是DWR自动生成的JavaScript对象,`getUserList`是对应服务器端方法的函数,参数`paramList`是传递给服务器的List,而回调函数则用于处理返回的Map结果。 **四、参数和返回值处理** 1. **参数...