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.name+" "+data.age); } } //////////////////// function TestMap(){ testMethod.testMap(callbackMethodMap) } function callbackMethodMap(data){ for(var property in data){ var bean = data; alert(bean.name+" "+bean.age); } } /////////////////////// function testMapList(){ testMethod.testMapList(callbackMethodMapList) } function callbackMethodMapList(data){ for(var property in data){ var bean = data; for(var propertys in bean){ alert(bean.name+" "+bean.age); } } } // --></mce:script></head><body><input type="button" name="button" value="测试list" ><input type="button" name="button" value="测试map" ><input type="button" name="button" value="测试map"></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); } } //////////////////// function TestMap(){ testMethod.testMap(callbackMethodMap) } function callbackMethodMap(data1){ for(var property in data1){ var bean = data1; alert(bean); } } /////////////////////// function testMapList(){ testMethod.testMapList(callbackMethodMapList) } function callbackMethodMapList(data){ for(var property in data){ var bean = data; for(var propertys in bean){ alert(bean); } } } // --></mce:script></head><body><input type="button" name="button" value="测试list" ><input type="button" name="button" value="测试map" ><input type="button" name="button" value="测试map"></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 代码;
页:
[1]