DWR类型转换学习笔记

来源:互联网 发布:java png转webp 编辑:程序博客网 时间:2024/05/29 17:12

一、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

 

注:源码已经上传至CSDN,可访问http://download.csdn.net/source/3080258去下载

 

 

 

 

 

 

 

 

 

 

原创粉丝点击