dwr使用 Java返回值分别是list ,map 与map的value 是list

<%@ 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" οnclick="TestList()"> <input type="button" name="button" value="测试map" οnclick="TestMap()"> <input type="button" name="button" value="测试map" οnclick="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" οnclick="TestList()"> <input type="button" name="button" value="测试map" οnclick="TestMap()"> <input type="button" name="button" value="测试map" οnclick="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 代码;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值