文档章节

DWR操作java对象

secondriver
 secondriver
发布于 2015/09/17 09:24
字数 623
阅读 3
收藏 0

 

 -------------------------------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类仍然出现上面的问题。

本文出自 “野马红尘” 博客,谢绝转载!

© 著作权归作者所有

共有 人打赏支持
secondriver
粉丝 10
博文 229
码字总数 233821
作品 0
广州
程序员
私信 提问
DWR框架 (一)认识DWR

DWR是一个比较不错的实现js语言和java语言桥接的框架,它是一个利用java的反射机制和ajax请求整合的一个框架,操作起来也是十分的容易,而却可以自动的实现我们需要使用的数据的json或者其他...

小老傅
2013/10/24
0
0
在 Spring Web MVC 环境下使用 DWR

DWR 简介 目前 Ajax 的开发框架有很多,使用这些框架可以简化 Ajax 的开发。DWR (Direct Web Remoting) 是一个用于改善 Web 页面与 Java 类交互的远程服务器端 Ajax 开源框架。DWR 可以动态生...

红薯
2011/01/12
1K
1
Web端服务器推送技术原理分析

1 背景 “服务器推送技术”(ServerPushing)是最近Web技术中最热门的一个流行术语。它是继“Ajax”之后又一个倍受追捧的Web技术。“服务器推送技术”最近的流行跟“Ajax ”有着密切的关系。...

wersdffg
2015/02/11
0
1
dwr+springboot实现java消息推送浏览器【无dwr配置文件】

由于本人在实际项目开发中有涉及到流程跑批,每个节点顺序点击执行后必须刷新页面才能看到状态是否变更。从客户体验上来说,这点是非常差的,于是想到dwr和websocket实现实时消息推送浏览器,...

leeyouhui
2018/12/21
0
0
北京我想应聘java开发工程师(web)或者网站前端

求推荐北京java或者前端工作, 为学校做过三个项目java web项目,使用struts框架开发,管理代码使用svn,喜欢写代码,有维护学校服务器的经验,熟悉linux。 技术标签:java,javascript,str...

qinteng
2012/10/05
357
1

没有更多内容

加载失败,请刷新页面

加载更多

pg_lightool基于basebackup的单表恢复和块恢复

开源软件pg_lightool,实现了基于wal日志的块恢复。详情参见博客:https://my.oschina.net/lcc1990/blog/1931485。由于wal日志中FPW的不确定性,它不能作为一个数据库恢复的解决方案。目前对...

movead
25分钟前
2
0
对比剖析Swarm Kubernetes Marathon编排引擎

Docker Native Orchestration 基本结构 Docker Engine 1.12 集成了原生的编排引擎,用以替换了之前独立的Docker Swarm项目。Docker原生集群(Swarm)同时包括了(Docker Engine \/ Daemons)...

Linux就该这么学
27分钟前
2
0
Mybatis的结果集处理

此时我们已经可以把整段的SQL语句取出,但还并没有在数据库中去执行,我们可以先来分析一下配置文件中SQL语句执行后的结果集是如何处理的。 Mybatis会将结果集按照映射配置文件中定义的映射规...

算法之名
39分钟前
21
0
Spring Boot(Spring的自动整合框架)

Spring Boot 是一套基于Spring框架的微服务框架,由于Spring是一个轻量级的企业开发框架,主要功能就是用于整合和管理其他框架,想法是将平时主流使用到的框架的整合配置预先写好,然后通过简...

花漾年华
42分钟前
2
0
Windows下条件变量的实现

条件变量是什么? 是一种同步对象。 条件变量有什么用? 用于复杂的、多线程的、多核的程序中,实现多个线程间同步任务。 条件变量与其它同步对象的区别? 与事件、互斥锁、segment等同步对象...

shzwork
44分钟前
1
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部