-------------------------------Dwr操作java对象,改变页面信息----------------------------
Dwr使得我们可以在浏览器页面上调试java代码。
通过一些测试和学习来看了看Dwr是如何将java对象信息显示在页面上。
1.创建一个实体类:
- packagexiao.zhang;
- importjava.util.*;
- publicclassPerson{
- privateStringname;
- privateStringaddress;
- publicPerson(){
- }
- publicPerson(Stringname,Stringaddress){
- this.name=name;
- this.address=address;
- }
- publicListgetAllPerson(){
- Listls=newArrayList();
- Personp=null;
- for(inti=0;i<87;i++){
- p=newPerson("name"+i,"address"+i);
- ls.add(p);
- }
- returnls;
- }
-
- publicStringgetName(){
- returnname;
- }
- publicvoidsetName(Stringname){
- this.name=name;
- }
- publicStringgetAddress(){
- returnaddress;
- }
- publicvoidsetAddress(Stringaddress){
- this.address=address;
- }
- publicStringtoString(){
- return"["+this.name+","+this.address+"]";
- }
- }
在这个类中写了一个getAllPerson()的方法,用来模拟一下从数据库中获取的信息。
2.接着配置web.xml文件
首先添加dwr.jar包。
- <servlet>
- <servlet-name>dwr</servlet-name>
- <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
- <param-value>true</param-value>
- </init-param>
-
- </servlet>
- <servlet-mapping>
- <servlet-name>dwr</servlet-name>
- <url-pattern>/dwr/*</url-pattern>
- </servlet-mapping>
为了使dwr能够操作java代码自然要配置dwr.xml文件
- <createcreator="new"javascript="Person">
- <paramname="class"value="xiao.zhang.Person"/>
- </create>
- <convertconverter="bean"match="xiao.zhang.Person"/>
由于是操作对象,根据dwr的规则,这里使用的类型转换,如果转化是相对于整个包的所有类的话,可以将math="xao.zhang.Person"更改为:match="xiao.zhang.*"
3.在浏览器中调试
输入URL:http://localhost:8080/工程名/dwr
进入调试页面,选择要调试的类,在这个页面将显示所有在dwr.xml中配置过的类。
很可惜的是对于操作实体bean的时候出现了这样的问题。
4.接下来修改。
对 getAllPerson()方法进行测试的时候显示如上图,不知道什么问题。
- packagexiao.zhang;
- importjava.util.ArrayList;
- importjava.util.List;
- publicclassPersonDao{
- publicListgetAllPerson(){
- Listls=newArrayList();
- Personp=null;
- for(inti=0;i<87;i++){
- p=newPerson("name"+i,"address"+i);
- ls.add(p);
- }
- returnls;
- }
- }
然后配置dwr.xml文件
重新测试得到预期的结果,对象类型转化正确。
将每一个Person对象作为数组的一个元素输出。
[{ filed_1,filed_2 },{ filed_1,filed_2},filed_2}````]
如果集合中存储的对象的字段与数组元素中的值一一对应。
- 添加PersonDao类的配置:
- <createcreator="new"javascript="PersonDao">
- <paramname="class"value="xiao.zhang.PersonDao"/>
- </create>
重新测试的结果:
重新写一个类使用getAllPerson()方法,Person类只作为一个实体Bean,讲其中的getAllPerson()方法删除。
如果Person类中的getAllPerson()方法不删除的话,调试PersonDao类仍然出现上面的问题。
本文出自 “野马红尘” 博客,谢绝转载! (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|