日期:2014-05-16 浏览次数:20472 次
(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>
?