dwr处理参数或返回值为pojo对象的JavaBean方法
发布时间:2020-12-16 00:33:40 所属栏目:百科 来源:网络整理
导读:在使用dwr避免不了碰到javabean中有对象作为参数的,那么这样的方法怎么在js中调用呢? 就这个问题,做了一个小例子,与大家分享一下: package com.tgb.dwr;/** * dwr使用测试 * @author Admin * */public class DwrTest {public String hellobody(User use
在使用dwr避免不了碰到javabean中有对象作为参数的,那么这样的方法怎么在js中调用呢? 就这个问题,做了一个小例子,与大家分享一下: package com.tgb.dwr;
/**
* dwr使用测试
* @author Admin
*
*/
public class DwrTest {
public String hellobody(User user){
return "Hello,"+user.getName()+",恭喜你今年"+user.getAge()+"岁";
}
public User getUser(){
User user = new User();
user.setName("Arron");
user.setAge(10);
return user;
}
}
public class User {
private String name;
private int age;
//省略set和get方法
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create javascript="T1" creator="new">
<param name="class" value="com.tgb.dwr.DwrTest"/>
</create>
<convert match="com.tgb.dwr.User" converter="bean">
<param name="include" value="name,age"></param>
</convert>
</allow>
</dwr>
js代码如下: <script type="text/javascript">
function test1(){
var userdata;
userdata = {name:"Arron",age:"10"};
T1.hellobody(userdata,function(data){
alert(data);
}
);
T1.getUser(function(data){
for(var prop in data){
alert("属性名:"+prop+",属性值:"+data[prop]);
}
});
}
</script>
效果图如下:
相信根据代码,你已经理解的差不多了。我再解释一下吧:
由于dwr只支持json的数据格式,因此在dwr中我们要读取javaBean中的属性,就必须将其转换成json的数据格式,这需要配置convert进行转换转换器中最常用的是bean(本实例用这个)和Object。
本实例中,我们采用的是bean转换器来转换User对象,所以对DwrTest配置一个creator,User配置一个convert。另外在js代码中,传递参数也需要用json格式的对象。即本例中的userdata对象。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |