首先配置DWR.xml文件:
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="/com.dwr.JavaBean" />
</create>
<convert converter="bean" match=""com.dwr.Dept">//其中的bean为指定的类型,一般不用改变,match为匹配的JavaBean类。
</convert>
</allow>
</dwr>
JavaBean与数组、集合的数据传递和处理
public class JavaBean {
public Dept getDept(Dept dept) {
dept.setDname("new" + dept.getDname());
return dept;
}
public Dept[] getDepts(Dept[] depts) {
for (int i = 0; i < depts.length; i++) {
depts[i].setDname("hello," + depts[i].getDname());
}
return depts;
}
public List<Dept> getDeptsList(List<Dept> list) {
for (int i = 0; i < list.size(); i++) {
list.get(i).setDname("hello," + list.get(i).getDname());
}
return list;
}
public Set<Dept> getDeptsSet(Set<Dept> set) {
for (Dept dept : set) {
dept.setDname("hello," + dept.getDname());
}
return set;
}
public Map<String,Dept> getDeptsMap(Map<String,Dept> map) {
Set<String> keySet = map.keySet();
for (String key : keySet) {
map.get(key).setDname("hello,"+map.get(key).getDname());
}
return map;
}
对应的javaScript代码为:
function demo(){
var dept={"deptno":10,
"dname":"ambow",
"dloc":"HN"
};
beandemo.getDept(dept,function(data){
alert(data.deptno+":"+data.dname+":"+data.dloc);
});
};
function demos(){
var depts=[{"deptno":10,
"dname":"ambow",
"dloc":"HN"
},{"deptno":20,
"dname":"cisco",
"dloc":"USA"}];
beandemo.getDepts(depts,function(data){
for(var i=0;i<data.length;i++){
var dept=data[i];
alert(dept.deptno+":"+dept.dname+":"+dept.dloc);
}
});
} ;
function demomap(){
var map={
"dept1":{"deptno":10,
"dname":"ambow",
"dloc":"HN"
},
"dept2":{"deptno":20,
"dname":"cisco",
"dloc":"USA"}
};
beandemo.getDeptsMap(map,function(data){
for(var key in data){
var dept=data[key];
alert(dept+":"+dept.dname+"-"+dept.deptno);
}
});
};
function demolist(){
var list=[{"deptno" : 10,
"dname" : "ambow",
"dloc" : "HN"
},{"deptno" : 20,
"dname" : "cisco",
"dloc" : "USA"
}];
beandemo.getDeptsList(list,function(data){
for(var i=0;i<data.length;i++){
var d = data[i];
alert(d.dname);
}
});
};
function demoset(){
var set=[{"deptno" : 10,
"dname" : "ambow",
"dloc" : "HN"
},{"deptno" : 20,
"dname" : "cisco",
"dloc" : "USA"
}];
beandemo.getDeptsSet(set,function(data){
for(var i=0;i<data.length;i++){
var d = data[i];
alert(d.dname);
}
});
};
/* arr.getArray(arr1,function(data){
//所有的js中数数都有一个内置变量arguments
// alert(arguments[0]);
//dom逻辑
for(var i=0;i<data.length;i++){
alert(data[i]);
}
//alert(i);Js里面i是一个比较特别,没有块语法的 ,它的作用域是函数
});
}*/
转载于:https://blog.51cto.com/vickyi/968699