博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DWR操作java对象
阅读量:5974 次
发布时间:2019-06-19

本文共 2408 字,大约阅读时间需要 8 分钟。

 -------------------------------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:工程名/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类仍然出现上面的问题。
本文转自 secondriver 51CTO博客,原文链接:http://blog.51cto.com/aiilive/870456,如需转载请自行联系原作者
你可能感兴趣的文章
Ubuntu安装Fcitx(小企鹅五笔输入法)
查看>>
例:进店买衣服案例
查看>>
#考研笔记#计算机问答题
查看>>
深入学习golang(4)—new与make
查看>>
JS动态生成<style>
查看>>
怎么看自己服务器的带宽?
查看>>
光纤模块接口全是down状态
查看>>
Linux下Python设置vim和交互模式下自动补全
查看>>
阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房)
查看>>
测试mysql绑定变量功能
查看>>
常见路由命令
查看>>
go的错误处理
查看>>
apache2.4.4的安装过程
查看>>
php5.3安装oracle的扩展oci8与pdo_oci
查看>>
Java多线程
查看>>
发送超长短信的协议格式
查看>>
A query was run and no Result Maps were found for the Mapped Statement
查看>>
摆正测试员在软件项目中的位置
查看>>
Bambook 稍后阅读 V1.01 发布
查看>>
安装第三方库出现 Python version 2.7 required, which was not found in the registry
查看>>