一、DWR调用参数类型和返回类型都是JavaBean的java方法
1.index.jsp
var u = {
username : "123",
password : "123"
};
user.checkLogin(u, function(data) {
alert("username="+data.username+";password="+data.password);
})
2.User.java
3.dwr.xml
<create creator="new" javascript="user">
<param name="class" value="bean.User" />
<include method="checkLogin" />
</create>
<!-- 转换JavaBean --> <convert converter="bean" match="bean.User"> <param name="include" value="username,password" /> </convert>
二、DWR调用参数类型是String,返回类型是Object的java方法
1.jsp页面
helloDwr.getObject("zxc",function(data){
alert(data.name);
});
2.dwr.xml配置
<create creator="new" javascript="helloDwr">
<param name="class" value="bean.HelloDwr"/>
</create>
<!-- 转换object对象 -->
<convert converter="object" match="bean.Cat">
<param name="force" value="true" />
</convert>
3.Cat.java
4.HelloDwr的方法
//返回一个普通的Java对象,Cat对象为其属性没有提供setter和getter方法
public Cat getObject(String name){
return new Cat("name");
}
三、DWR调用参数类型是对象数组,返回类型是对象数组的java方法
1.jsp页面
var u=[{username:"Jim",password:"123"},{username:"cat",password:"123"},{username:"sunny",password:"123"}];
helloDwr.getPersonArray(u,function(data){
for(var i=0;i<data.length;i++){
alert(data[i].username);
}
});
2.dwr.xml不需要配置
3.HelloDwr的方法
//返回一个数组对象
public User[] getPersonArray(User[] u){
return u;
}
四、DWR调用参数类型是泛型Map,返回类型也是泛型Map的java方法
1.jsp
var u={a:{username:"Jim",password:"123"},b:{username:"cat",password:"123"},c:{username:"sunny",password:"123"}};
helloDwr.getPersonMap(u,function(data){
var result="";
for(var key in data){
result+="键为"+key+",其值为:"+data[key].username+"<br>";
}
alert(result);
});
2.dwr.xml不需要配置
3.HelloDwr的方法
//返回一个Map对象
public Map<String ,User>getPersonMap(Map<String,User> pmap){
return pmap;
}
五、DWR调用参数类型是无泛型list集合的java方法
1.jsp
var u=[{username:"Jim",password:"123"},{username:"cat",password:"123"},{username:"sunny",password:"123"}];
helloDwr.sendListNogeneric(u,function(data){
alert(data);
});
2.dwr.xml
<signatures>
<![CDATA[
import java.util.List;
import bean.HelloDwr;
import bean.User;
HelloDwr.sendListNogeneric (List<User>);
]]>
</signatures>
3.HelloDwr的方法
//远程方法的参数是集合
public String sendListNogeneric(List p1){
String result="";
for(Object p:p1){
result+=((User)p).getUsername()+"<br>";
}
return result;
}
六、DWR调用参数类型是泛型list集合,返回类型也是泛型list集合的java方法
1.jsp
var u=[{username:"Jim",password:"123"},{username:"cat",password:"123"},{username:"sunny",password:"123"}];
helloDwr.getUserList(u,function(data){
for(var i=0;i<data.length;i++){
alert(data[i].username);
}
});
2.dwr.xml无需配置
3.HelloDwr的方法
//返回一个集合对象
public List<User> getUserList(List<User> list){
return list;
}
七、完整的例子
1.index.jsp
2.HelloDwr.java
3.Cat.java
4.dwr.xml
5.web.xml
注:源码已经上传至优快云,可访问http://download.youkuaiyun.com/source/3080258去下载