日期:2014-05-16 浏览次数:20393 次
(dwr 引擎里做了解析与转换 )
?数组与list 一样,转化为json 的有序列表
Map 转换成 json 对象值无序列表
如果是Java 自定义的 对象 需要在 dwr.xml中配置 类型转换 <convert converter="bean" match="com.ysen.dwr.Person"/>
?
public class Test2 { public String[] testArray(){ return new String[]{"世界","你好"}; } public String[][] testArray2(){ return new String[][]{ new String[]{"A1","A2"}, new String[]{"B1","B2","B3"} }; } public List testList(int size){ List list = new ArrayList(size); for(int i=0; i<size; i++){ list.add("someDAta"+i); } return list; } public List testList2(){ List list = new ArrayList(); for(int i=0; i<3; i++){ String[] ss = new String[]{"A"+i,"B"+i,"C"+i}; list.add(ss); } return list; } public Map testMap(){ Map map = new HashMap(); map.put("key1", "世界"); map.put("key2", "你好"); return map; } public String savePerson(Person person){ person.setId(100); System.out.println(person.getName()+"被保存了,它的ID是:"+person.getId()); return "Person[name="+person.getName()+",sex="+person.getSex()+",age="+person.getAge()+",id="+person.getId()+"]"; } }
?
?测试页面一
?
<script type="text/javascript"> function testArray(){ test2.testArray( function(data){ alert("一维数组的长度是:"+data.length); for(var i=0; i<data.length; i++){ alert(data[i]); } } ); } function testList(){ test2.testList( 5, function(data){ alert("List的长度是:"+data.length); for(var i=0; i<data.length; i++){ alert(data[i]); } } ); } </script>
?
?
<body> <a href="#" onclick="testArray()">Test2.testArray</a> <a href="#" onclick="testList()">Test2.testList</a> </body>
?
?
?
测试页面二
?
<script type="text/javascript"> function testArray2(){ test2.testArray2( function(data){ alert("二维数组的长度是:"+data.length); for(var i=0; i<data.length; i++){ for(var j=0; j<data[i].length; j++){ alert(data[i][j]); } } } ); } function testList2(){ test2.testList2( function(data){ alert("List的长度是:"+data.length); for(var i=0; i<data.length; i++){ for(var j=0; j<data[i].length; j++){ alert(data[i][j]); } } } ); } </script>
?
?
?
?
<body> <a href="#" onclick="testArray2()">Test2.testArray2</a> <a href="#" onclick="testList2()">Test2.testList2</a> </body>
?
测试页面三
?
?
<script type="text/javascript"> function testMap01(){ test2.testMap( function(data){ alert(data.key1); alert(data["key2"]); } ); } function testMap02(){ test2.testMap( function(data){ for(var p in data){ alert("key="+p+",value="+data[p]); } } ); } </script>
?
?
<body> <a href="#" onclick="testMap01()">Test2.testMap - 获取对应key的值</a> <a href="#" onclick="testMap02()">Test2.testMap - 循环获取一个Map中的key和value</a> </body>
?
?
测试页面四
?
<script type="text/javascript"> function testSavePerson(){ var person = {"name":"王五","sex":"男","age":19}; test2.savePerson( person, function(data){ alert(data); } ); } </script>
?
<body> <a href="#" onclick="testSavePerson()">保存人员信息</a> </body>
?