浏览 2826 次
锁定老帖子 主题:dwr 中后台返回值对应的js解析
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-23
最后修改:2010-03-23
(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>
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |