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

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

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

1.创建一个实体类:

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

在这个类中写了一个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. </servlet>
  9. <servlet-mapping>
  10. <servlet-name>dwr</servlet-name>
  11. <url-pattern>/dwr/*</url-pattern>
  12. </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. import java.util.ArrayList;
  3. import java.util.List;
  4. public class PersonDao {
  5. public List getAllPerson() {
  6. List ls = new ArrayList();
  7. Person p = null;
  8. for (int i = 0; i < 87; i++) {
  9. p = new Person("name" + i, "address" + i);
  10. ls.add(p);
  11. }
  12. return ls;
  13. }
  14. }

然后配置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,如需转载请自行联系原作者

DWR操作java对象相关推荐

  1. js 操作java对象_JavaScript 对象基础

    JavaScript 对象基础 JavaScript 对象的基本形式.对象的创建方式.构造函数.包装类等 对象的格式 基本格式 对象使用一个{}进行包裹,内部属性以键值对形式声明 示例 var tea ...

  2. js 操作java对象_js对象复制

    转至:http://apps.hi.baidu.com/share/detail/518475 在js里没有类似JAVA的clone方法,无法实现对对象的克隆,一般使用等号操作符来传递对象,但这样就造 ...

  3. JNI学习笔记——(二)Native操作Java对象

    注:编码工具是Android Studio. 目录 Native打印Java传入的String Native接收Java传入的基本类型数组打印并修改 Native遍历打印Java传入的引用类型数组 N ...

  4. java 对象读写_java 对象输入输出流读写文件的操作实例

    java 对象输入输出流读写文件的操作实例 java 支持对对象的读写操作,所操作的对象必须实现Serializable接口. 实例代码: package vo; import java.io.Ser ...

  5. java创建子类对象的步骤_一顿Spring骚操作:我敢说没有人比我更懂Java对象的创建!

    一.开篇一问 一个Spring Bean是Java对象吗?那么一个对象是Spring Bean吗? 带着这个问题我们一起来回顾Spring的生命周期流程,彻底了解一个类在Spring中究竟做了那些操作 ...

  6. java创建子类对象的步骤_一通Spring骚操作:我敢说没人比我更懂Java对象创建

    一.开篇一问 一个Spring Bean是Java对象吗?那么一个对象是Spring Bean吗? 带着这个问题我们一起来回顾Spring的生命周期流程,彻底了解一个类在Spring中究竟做了哪些操作 ...

  7. Java操作Mongodb 保存/读取java对象到/从mongodb

    从 http://central.maven.org/maven2/org/mongodb/mongo-java-driver/选择一个版本进行下载,这里选择的是3.0.0版本,具体下载以下jar包: ...

  8. java对象与byte[]数组之间的相互转化,压缩解压缩操作

    下面介绍一下java对象之间和byte[]数组之间的相互转化.并对byte[]数据进行压缩操作.java对象转化为byte[]数组可用于redis中实现缓存.(这里暂不做介绍).话不多说直接开实例: ...

  9. QLExpress 系列入门教程-02-QLExpress java 语法,java 对象操作

    目录 目录 普通 java 语法 语法支持 例子 Java 对象操作 测试案例 导航 普通 java 语法 语法支持 序号 符号 备注 1 +,-,*,/,<,>,<=,>=, ...

最新文章

  1. dragsort html拖拽排序 的应用
  2. python怎么读文件夹下的文件夹-如何使用Python读取文件夹中的文件数量?
  3. HTML5将重塑Web世界?,互联网营销
  4. VIPKID 张武锋:自研RTC的故事
  5. poj 1611 The Suspects // hoj 1564 The Suspects 并查集
  6. c++基础(part1)--cpp简介
  7. 第十一节: EF的三种模式(一) 之 DBFirst模式(SQLServer和MySQL两套方案)
  8. 把一个dataset的表放在另一个dataset里面_现在开始:用你的Mac训练和部署一个图像分类模型...
  9. python excel 单元格格式_python设置单元格数值格式
  10. 又涨价了!华为 P40系列海外售价曝光:还好国行版友好不少
  11. python读取python源代码文件_python 学习源码练习(2)——简单文件读取
  12. php web长时间不操作退出,Ecshop管理员登陆后台后短时间不操作自动退出的解决方法...
  13. linux文件映射mmap
  14. 【IDEA系列】利用 IntelliJ IDEA 进行代码对比的方法
  15. smart原则_如何合理运用SMART原则高效达成工作目标?
  16. php mysql 性能测试工具_MySQL_Sysbench多线程性能测试工具,最近用sysbench进行了较多的性 - phpStudy...
  17. 【PCB软件技巧】OrCAD与PADS相互搭配使用的相关要点
  18. fla文件中切记不能使用TLF文本
  19. java调用QQ邮箱发送邮件
  20. 计算机科学与技术脑电波,科学“读心术”,当脑电波扫描图遇到人工智能

热门文章

  1. 网页开发之amr音频的播放
  2. [文摘20070930]每个人都需要掌握的18个人情世故
  3. TrackBack 技术规范
  4. 二. python面向对象(内置方法and析构函数)
  5. InformaticaPowerCenter调用存储过程
  6. 5.3Python数据处理篇之Sympy系列(三)---简化操作
  7. 删除表数据有两种方法及区别
  8. 删除MySql表中的大量记录后,文件不变小的解决方法
  9. Spring事务管理1-------环境搭建
  10. Hyper-V 2016 系列教程29 主流品牌服务器的BIOS的虚拟化相关设定