`
xzj127
  • 浏览: 16010 次
  • 性别: Icon_minigender_1
  • 来自: 帝都火星村
社区版块
存档分类
最新评论

DWR操作 (二) 操作对象和集合

阅读更多

之前的基本配置一样。这里我就只把 dwr.xml 和Service 和bean 还有jsp页面的代码展示出来
dwr.xml 文件的配置代码如下:

<?xml version="1.0" encoding="UTF-8"?>   
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr//dwr20.dtd">   
<dwr>   
<!-- without allow, DWR isn't allowed to do anything -->   
<allow>     
         <create creator="new" javascript="Student" scope="application">       
        <param name="class" value="com.xzj.service.StudentService"/>       
    </create>   
    <convert converter="bean" match="com.xzj.domain.Student"/>   
</allow>   
</dwr>  

 

StudentService方法的代码如下:

package com.xzj.service;   
  
import java.util.ArrayList;   
import java.util.List;   
  
import com.xzj.domain.Student;   
  
public class StudentService {   
       
    public  List find(){   
        List list=new ArrayList();   
        for(int k=1;k<10;k++){   
            list.add(k);   
        }   
        return list;   
    }   
       
    public Student findStudent(){   
        Student stu=new Student();   
        stu.setId(127);   
        stu.setName("周星驰");   
        stu.setAge(48);   
        return stu;   
    }   
       
    public List listStudent(){   
        List list=new ArrayList();   
        Student stu=null;   
        for(int k=1;k<6;k++){   
            stu=new Student();   
            stu.setId(k);   
            stu.setName("DWR冰山"+k);   
            stu.setAge(23+k);   
            list.add(stu);   
        }   
        return list;   
    }   
}  

  

 

Student 的代码如下:

package com.xzj.domain; 

public class Student { 
private int id; 
private String name; 
private int age; 

public int getId() { 
return id; 
} 
public void setId(int id) { 
this.id = id; 
} 
public String getName() { 
return name; 
} 
public void setName(String name) { 
this.name = name; 
} 
public int getAge() { 
return age; 
} 
public void setAge(int age) { 
this.age = age; 
} 
} 

 

 

前台index.jsp的代码如下:

<%@ page language="java"  pageEncoding="UTF-8"%>   
<html>   
  <head>   
    <title>DWR Operator List and Object</title>   
    <meta http-equiv="pragma" content="no-cache">   
    <meta http-equiv="cache-control" content="no-cache">   
    <meta http-equiv="expires" content="0">       
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">   
    <meta http-equiv="description" content="This is my page">   
    <style type="text/css">   
    a:link, a:visited{   
        margin:10px;   
        color:#A62020;   
        padding:4px 10px 4px 10px;   
        background-color: #ecd8db;   
        text-decoration:none;   
        border-top: 1px solid #EEEEEE;         
        border-left: 1px solid #EEEEEE;   
        border-bottom: 1px solid #717171;   
        border-right: 1px solid #717171;   
    }   
       
    a:hover{   
        margin:10px;   
        color:#821818;   
        padding:5px 8px 3px 12px;   
        background-color:#e2c4c9;   
        border-top:1px solid #717171;   
        border-left:1px solid #717171;   
        border-bottom:1px solid #EEEEEE;   
        border-right:1px solid #EEEEEE;   
    }   
           
    .datalist{   
        border:1px solid #5F6F7E;   
        border-collapse:collapse;   
        width:60%;   
    }   
    .datalist th{   
        border:1px solid #5F6F7E;   
        background-color:#E2E2E2;   
        color:#000000px;   
        font-weight:normal;   
        text-align:center;   
        padding:2px 8px 2px 6px;   
        height:20px;   
    }   
    .datalist td{   
        margin:0px;   
        padding:1px;   
        border:1px solid #ABABAB;   
        }   
       .put{   
        margin:0px;                
        border:0;   
        background-color:#E2E2E2;   
        padding:5px;   
        border-bottom:1px solid #ABABAB;   
        width:auto;   
    }   
    </style>   
    <script type="text/javascript" src='dwr/interface/Student.js'></script>   
   <script type="text/javascript" src='dwr/engine.js'></script>   
   <script type="text/javascript" src='dwr/util.js'></script>   
    <script type="text/javascript">   
        function find(){   
            Student.find(showMessage);   
            function showMessage(msg){   
                var rs=new Array();   
                rs=msg   
                for(var k in rs){   
                    alert("List中的:"+rs[k]);   
                }   
            }   
        }   
           
        function findStudent(){   
            Student.findStudent(showMessage);   
            function showMessage(msg){   
                //操作Bean文件Student 必须要先再dwr.xml中配置   
                /**<convert converter="bean" match="com.xzj.domain.Student"/>*/  
                var msgStr="编号:"+msg.id+"\n姓名:"+msg.name+"\n年龄:"+msg.age;   
                alert(msgStr);   
            }   
        }   
           
        function listStudent(){   
            Student.listStudent(showMessage);   
            function showMessage(msg){   
                var rs=new Array();   
                rs=msg;   
                var table="<table  class='datalist'>";   
                        table+="<tr>";   
                            table+="<th>编号</th>";   
                            table+="<th>姓名</th>";   
                            table+="<th>年龄</th>";   
                        table+="</tr>";   
                for(var k in rs){   
                    table+="<tr>";   
                        table+="<th>"+rs[k].id+"</th>";   
                        table+="<td>"+rs[k].name+"</td>";   
                        table+="<td>"+rs[k].age+"</td>";   
                    table+="</tr>";   
                }   
                table+="</table>";   
                showMsg.innerHTML=table;   
            }   
        }   
    </script>   
  </head>   
     
  <body>   
    <center>   
        <input type="button" class="put" name="btnList" value="查看对List的操作" onclick="find()"/>   
        <input type="button" class="put" name="btnList" value="查看对Student对象的操作" onclick="findStudent()"/>   
        <input type="button" class="put" name="btnList" value="查看对List中5个Student对象的操作" onclick="listStudent()"/>   
    </center>   
    <br><br>   
    <br><br>   
    <div id="showMsg" style="border:1px dashed #CCCCCC;width:500px:height:auto;margin:5px;padding:5px;text-align:center;">   
       
    </div>   
  </body>   
</html>  

 

 

 

为了好看 弄了点 CSS 代码。弄完这个。可以自由的操作DWR了。应该知道DWR的好处了吧。不过..对于他的不好之处。你可以去网络中看看.
如果明天有时间 继续
关于Spring的操作.
这里 我没有对数据库进行操作 。因为都是一样的...

  • dwr02.rar (455.3 KB)
  • 描述: 对应例子
  • 下载次数: 305
分享到:
评论
12 楼 yangpanwww 2009-07-01  
Lz   这个问题我知道了。。我还有个问题

当 dwr 返回 一个 对象时 比如: user.java 里有 name,age 的get,set方法

我想把这个对象 使用 Struts 标签 <bean:write />输出。。。

怎么实现。。。。???
11 楼 yangpanwww 2009-06-30  
LZ   我下载了你的工程。。但是。。运行时报了 js 错误;

"Student" 未定义。。。。


Student.js 不是自动生成的吗?
10 楼 juzhibest 2009-05-15  
果然很受用.谢谢LZ
9 楼 vampires 2008-12-10  
写的太好了..希望能够看到更多的例子出现
8 楼 xzj127 2008-10-23  
ssy8110 写道

请问楼主,你如何处理像Hibernate返回的List 对象?我的意思是说这个List中包含N个对象,而每个对象里面又包含N个集合,也就是一对多关系的对象,

这个,暂时还没做过。。
        有时间做了传上来。。谢谢提醒。
7 楼 ssy8110 2008-10-13  
请问楼主,你如何处理像Hibernate返回的List 对象?我的意思是说这个List中包含N个对象,而每个对象里面又包含N个集合,也就是一对多关系的对象,
6 楼 xzj127 2008-09-18  
l楼的难道说是我的那个顺序上下 写反了???

      如果是这样的。。那你就是个 只会版版套的人...
5 楼 llm6101 2008-09-12  
支持楼主 希望多一些这样的文章
4 楼 phenom 2008-09-11  
写出来总比没有的强,不像有些人,自己不写还不断的指出别人的错误,指出错误当然是好的,可也不能像人生攻击一样啊。
自以为高手,
3 楼 xzj127 2008-08-29  
我上面的都是正确的啊。。
         我都是做完了。测试完了。再发布的。。
2 楼 xiaoqiang01 2008-08-28  
楼上的,你要是厉害的话你也发表啊,我看你也不见得怎么样...


楼主的代码没有问题,我试过了,如果按代码不成功的话,可能是没有配置web.xml.
1 楼 pavel 2008-08-28  
里面有些错误,<convert converter="bean" match="com.xzj.domain.Student"/>     
反了 ,如果不想告诉别人那为什么还要写出来,如果写出来还是错的还不如不写,dwr操作1也有错
都不知道写出来干嘛

相关推荐

    dwr调用带集合返回值的方法

    4. **数据类型转换**: DWR支持多种数据类型的转换,包括基本类型、自定义对象和集合。集合可以是ArrayList、LinkedList、Set等,DWR会将它们转换为JavaScript的Array。 5. **错误处理**: 在JavaScript中,你还需要...

    DWR集合Spring实现异步提交

    **DWR(Direct Web Remoting)集合Spring实现异步提交** DWR(Direct Web Remoting)是一种开源JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时、双向通信,从而实现异步数据交换。结合Spring框架,...

    DWR资源集合

    2. **自动类型转换**:DWR能够自动处理数据类型转换,使得服务器端的Java对象能够在客户端以JSON或XML的形式进行操作。这极大地简化了前端和后端之间的数据交换。 3. **安全机制**:DWR提供了一套安全机制,如CSRF...

    DWR框架怎么返回对象

    DWR还支持更复杂的数据类型,如数组、集合(List、Set、Map)以及自定义对象。例如,Java方法返回一个`List&lt;JavaBean&gt;`,DWR会将其转换为JavaScript数组,每个元素都是对应的JavaScript对象。你可以在JavaScript中...

    dwr返回对象.doc

    当Java方法返回`List`、`Map`或`Set`等集合类型时,DWR同样会自动转换成JavaScript数组或对象。对于`List`,JavaScript端会得到一个数组,可以使用数组方法进行操作;对于`Map`,会转换为JavaScript对象,可以通过...

    dwr 查询返回list处理

    3. **DWR转换器**:由于DWR默认只能处理基本类型和少数Java标准库中的对象,对于自定义对象,我们需要在`dwr.xml`中配置相应的转换器,使DWR能够将这些对象转换为JavaScript可以理解的格式。 4. **JavaScript调用**...

    dwr和ajax使用demo

    DWR自动处理了XMLHttpRequest对象的创建、请求的发送和响应的处理,使得开发者可以专注于业务逻辑,而不是底层的通信细节。 五、DWR使用步骤 1. **配置DWR**:在Web应用的`web.xml`中添加DWR的Servlet配置。 2. **...

    dwr.rar_dwr_dwr Stri_dwr javabean

    2. **列表(List)**操作:DWR支持传递和返回Java集合,包括List。在JavaScript端,可以接收一个由Java List转换来的数组,然后对其进行遍历、添加、删除等操作。这极大地扩展了前端的处理能力,使得动态更新列表数据...

    dwr的jar包

    DWR简化了Ajax开发,使得开发者可以像操作本地对象一样操作服务器端的对象,而无需处理底层的XMLHttpRequest细节。 首先,我们来深入理解DWR的核心概念和技术特性: 1. **远程方法调用(Remote Method Invocation,...

    DWR.rar_dwr

    在这个"DWR.rar_dwr"压缩包中,我们看到的是DWR在实际应用中的实例,涵盖了各种数据类型的处理,包括字符串、带参的字符串、数组、集合、Map以及循环Map和二维数组。 1. 字符串处理:在Web应用中,字符串是最基本的...

    Dwr功能案例

    DWR支持多种类型的参数传递,包括基本类型(如int、String)、对象、数组、集合等。在客户端JavaScript中,你可以直接调用服务器端的Java方法,并传递参数。DWR会自动处理参数的序列化和反序列化过程。例如,你可以...

    AJAX 与 DWR框架

    在Spring框架中,DWR可以通过Spring的AOP(面向切面编程)和依赖注入特性,更好地管理服务器端的Java对象。这种集成使得开发者能够在不破坏现有架构的情况下,添加Ajax功能,提升Web应用的交互性。 总的来说,Ajax...

    dwr课件,java,反向ajax

    在DWR中,你可以返回各种Java类型的数据,包括基本类型(如int、String)、自定义对象、集合(如List、Set)和Map等。例如: - 基本类型:在JavaScript端,你可以直接接收服务器返回的数字、字符串等。 - 集合:DWR...

    DWR框架对各种类型方法调用的示例

    总结来说,DWR框架提供了一种强大且便捷的方式来实现前后端的交互,无论是无参调用、字符串参数、自定义对象还是对象集合,DWR都能优雅地处理。这种技术在构建富客户端Web应用时非常有用,因为它极大地提升了用户...

    DWR中处理List

    通过上述示例可以看出,在DWR中处理List、Set和Map等集合类型的关键在于正确配置DWR XML文件,并编写合适的客户端JavaScript代码来调用服务端的方法及处理返回的数据。这种方式大大简化了前后端之间的数据交换过程,...

    dwr的用法解析

    - **类型转换**:DWR自动处理Java与JavaScript之间的类型转换,包括基本类型、数组、集合和自定义对象。 - **异步和同步调用**:可以选择同步或异步调用服务器端方法,根据应用场景选择合适的调用方式。 DWR是提升...

    dwr入门例子 返回list

    DWR会自动处理Java Bean到JavaScript对象的映射,使得在客户端可以像操作JavaScript对象一样操作服务器返回的Bean。 总结来说,DWR通过简化AJAX通信过程,使得开发者可以更加专注于业务逻辑,而不是底层通信细节。...

    dwr.jar dwrUtil常见方法 dwr详细资料

    2. **DWRUtil类**:DWRUtil是DWR提供的一系列实用工具函数的集合,包括但不限于数据转换(如JSON到Java对象的转换)、错误处理、DOM操作等,为开发者提供便利。 3. **Ajax支持**:DWR利用Ajax技术实现了页面的局部...

    Hibernate+Spring+DWR分页(原创)

    在Spring和Hibernate的支持下,我们可以设计一个接收数组或集合作为参数的方法,对每个元素执行相应的操作。DWR则负责在前端收集用户选择的记录,并调用对应的后端批量方法。 六、实践与优化 实际开发中,我们还...

    DWR中文文档和jar

    6. **类型转换**:DWR自动处理JavaScript和Java对象之间的类型转换,包括基本类型、自定义对象和集合等。 7. **缓存机制**:DWR如何缓存远程对象,提高性能。 8. **调试工具**:DWR Console,用于查看和调试DWR调用...

Global site tag (gtag.js) - Google Analytics