DWR操作java对象

 

 -------------------------------Dwr操作java对象,改变页面信息----------------------------

Dwr使得我们可以在浏览器页面上调试java代码。

通过一些测试和学习来看了看Dwr是如何将java对象信息显示在页面上。

1.创建一个实体类:

 

 
 
  1. package xiao.zhang;  
  2.  
  3. import java.util.*;  
  4.  
  5. public class Person {  
  6.     private String name;  
  7.     private String address;  
  8.  
  9.     public Person() {  
  10.  
  11.     }  
  12.  
  13.     public Person(String name, String address) {  
  14.         this.name = name;  
  15.         this.address = address;  
  16.     }  
  17.  
  18.     public List getAllPerson() {  
  19.         List ls = new ArrayList();  
  20.         Person p = null;  
  21.         for (int i = 0; i < 87; i++) {  
  22.             p = new Person("name" + i, "address" + i);  
  23.             ls.add(p);  
  24.         }  
  25.         return ls;  
  26.     }  
  27.       
  28.     public String getName() {  
  29.         return name;  
  30.     }  
  31.  
  32.     public void setName(String name) {  
  33.         this.name = name;  
  34.     }  
  35.  
  36.     public String getAddress() {  
  37.         return address;  
  38.     }  
  39.  
  40.     public void setAddress(String address) {  
  41.         this.address = address;  
  42.     }  
  43.  
  44.     public String toString() {  
  45.         return "[" + this.name + "," + this.address + "]";  
  46.     }  
  47. }  

在这个类中写了一个getAllPerson()的方法,用来模拟一下从数据库中获取的信息。

2.接着配置web.xml文件

首先添加dwr.jar包。

 

 
 
  1. <servlet> 
  2.   <servlet-name>dwr</servlet-name> 
  3.   <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> 
  4.   <init-param> 
  5.   <param-name>debug</param-name> 
  6.   <param-value>true</param-value> 
  7.   </init-param> 
  8.     
  9.   </servlet> 
  10.  <servlet-mapping> 
  11.     <servlet-name>dwr</servlet-name> 
  12.     <url-pattern>/dwr/*</url-pattern> 
  13. </servlet-mapping> 

为了使dwr能够操作java代码自然要配置dwr.xml文件

 

 
 
  1. <create creator="new" javascript="Person"> 
  2.         <param name="class" value="xiao.zhang.Person"/> 
  3.     </create> 
  4.     <convert converter="bean" match="xiao.zhang.Person"/> 

由于是操作对象,根据dwr的规则,这里使用的类型转换,如果转化是相对于整个包的所有类的话,可以将math="xao.zhang.Person"更改为:match="xiao.zhang.*"

3.在浏览器中调试

输入URL:http://localhost:8080/工程名/dwr

进入调试页面,选择要调试的类,在这个页面将显示所有在dwr.xml中配置过的类。

 

很可惜的是对于操作实体bean的时候出现了这样的问题。

4.接下来修改。

对 getAllPerson()方法进行测试的时候显示如上图,不知道什么问题。

 
 
  1. package xiao.zhang;  
  2.  
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.  
  6. public class PersonDao {  
  7.     public List getAllPerson() {  
  8.         List ls = new ArrayList();  
  9.         Person p = null;  
  10.         for (int i = 0; i < 87; i++) {  
  11.             p = new Person("name" + i, "address" + i);  
  12.             ls.add(p);  
  13.         }  
  14.         return ls;  
  15.     }  
  16. }  

然后配置dwr.xml文件

 

重新测试得到预期的结果,对象类型转化正确。

将每一个Person对象作为数组的一个元素输出。
[{ filed_1 , filed_2 }, { filed_1 , filed_2}, { filed_1 , filed_2}````]

如果集合中存储的对象的字段与数组元素中的值一一对应。

 

 
 
  1. 添加PersonDao类的配置:  
  2. <create creator="new" javascript="PersonDao"> 
  3.         <param name="class" value="xiao.zhang.PersonDao"/> 
  4.     </create> 

重新测试的结果:
重新写一个类使用getAllPerson()方法,Person类只作为一个实体Bean,讲其中的getAllPerson()方法删除。
 
如果Person类中的getAllPerson()方法不删除的话,调试PersonDao类仍然出现上面的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值