<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dwr框架在客戶端遠程調用方法返回自定義類型的例子

    Posted on 2008-08-23 01:19 H2O 閱讀(2288) 評論(2)  編輯  收藏 所屬分類: ajax
    package com.yz.dwr;

    /**
     * 用戶
     * 
    @author 小毅
     *
     
    */

    public class Users {
        
    private int uid;
        
    private String uname;
        
    private int sex;
        
    private Dept dep;
        
    public Users(int uid, String uname, int sex, Dept dep) {
            
    super();
            
    this.uid = uid;
            
    this.uname = uname;
            
    this.sex = sex;
            
    this.dep = dep;
        }

        
    public Users() {
        }

        
    public int getUid() {
            
    return uid;
        }

        
    public void setUid(int uid) {
            
    this.uid = uid;
        }

        
    public String getUname() {
            
    return uname;
        }

        
    public void setUname(String uname) {
            
    this.uname = uname;
        }

        
    public int getSex() {
            
    return sex;
        }

        
    public void setSex(int sex) {
            
    this.sex = sex;
        }

        
    public Dept getDep() {
            
    return dep;
        }

        
    public void setDep(Dept dep) {
            
    this.dep = dep;
        }

    }

    package com.yz.dwr;
    import java.util.*;
    import com.yz.dwr.*;

    public class myControl {
        
    //演示在客戶端利用DWR框架獲得自定義對象以及集合中的對象的相關屬性值
        public List<Users> getAllUsers(){
            List
    <Users> lst = new ArrayList<Users>();
            
    //只是為了演示方便所以僅模仿從數據庫獲取數據獲得數據
            for (int i = 1; i <= 10; i++{
                lst.add(
    new Users(i,"xiaoyi"+i,i%2,new Dept(i+1,"部門"+i,"部門描述"+i)));
            }

            System.out.println(
    "集合的大小為--->"+lst.size());
            
    return lst;
        }

    }
    package com.yz.dwr;

    /**
     * 部門
     * @小毅
     
    */

    public class Dept {
        
    private int deptId;
        
    private String deptName;
        
    private String description;
        
    public Dept(int deptId, String deptName, String description) {
            
    super();
            
    this.deptId = deptId;
            
    this.deptName = deptName;
            
    this.description = description;
        }

        
    public Dept() {
        }

        
    public int getDeptId() {
            
    return deptId;
        }

        
    public void setDeptId(int deptId) {
            
    this.deptId = deptId;
        }

        
    public String getDeptName() {
            
    return deptName;
        }

        
    public void setDeptName(String deptName) {
            
    this.deptName = deptName;
        }

        
    public String getDescription() {
            
    return description;
        }

        
    public void setDescription(String description) {
            
    this.description = description;
        }
        
    }


    dwr.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
    <dwr>
        
    <allow>
            
    <!--要判斷后臺是否已經寫好,可以到測試也看一看  -->
            
    <!-- 轉換器:dwr框架根據轉換器的配置自動轉換成json對象
                bean 以javabean的方式轉換 
                所有參數如下:
                自定義 Converters(轉換)
                Bean/Object Converter
                Array/Collection Converter
                Dom Objects
                Enum Converter
            
    -->
            
    <convert converter="bean" match="com.yz.dwr.Dept">
                
    <!-- 這里可以加參數,如果沒有加就會把該類的所有屬性轉為json對象,如果
                    加了參數表示只會轉換value包含的屬性值到json對象,要轉換的各屬性用逗號隔開
                    <param name="include" value="uid,username"/>
                
    -->
            
    </convert>
            
    <convert converter="bean" match="com.yz.dwr.Users"></convert>

            
    <!-- javascript的對象是xiaoyi,create="new"是DWR通過new關鍵字創建value所對應的
                類的實例調用該類的方法 include表示只允許調用某些方法,exclude表示除了某方法之外其他
                的都不能調用 如果都沒寫表示所有公有方法都能調用
            
    -->
            
    <create creator="new" javascript="xiaoyi">
                
    <param name="class" value="com.yz.dwr.myControl"></param>
            
    </create>
        
    </allow>
    </dwr>

    web.xml
        <servlet>
            
    <servlet-name>dwr-invoker</servlet-name>
            
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
            
    <init-param>
                
    <param-name>debug</param-name>
                
    <param-value>true</param-value>
            
    </init-param>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>dwr-invoker</servlet-name>
            
    <url-pattern>/dwr/*</url-pattern>
        
    </servlet-mapping>

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
        
    String path = request.getContextPath();
        
    String basePath = request.getScheme() + "://"
                
    + request.getServerName() + ":" + request.getServerPort()
                
    + path + "/";
    %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        
    <head>
            
    <base href="<%=basePath%>">

            
    <title>DWR框架操作自定義類型</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">
            
    <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        
    -->
            
    <script type='text/javascript' src='/dwrTest2/dwr/interface/xiaoyi.js'></script>
            
    <script type='text/javascript' src='/dwrTest2/dwr/engine.js'></script>
            
    <script type='text/javascript' src='/dwrTest2/dwr/util.js'></script>
            
    <script type="text/javascript">
            
    //objInList是遠程調用方法返回的集合循環遍歷的第i個對象
                var deptName = function (objInList){
                    
    //返回第i個對象(用戶對象)的部門對象屬性的部門名稱
                    return objInList.dep.deptName;
                }

                
    function gets(){
                    
    //遠程調用服務器的方法,并指定回調函數處理
                    xiaoyi.getAllUsers(deals);
                }
    ;
                
    function deals(rst){
                    
    //回調函數的參數為:遠程調用的返回結果
                    //dwr.util.addOptions("sl",rst,"uid","uname");
                    dwr.util.addOptions("sl",rst,"uid",deptName);
                     
    //給tbody添加數據肯定是一個集合,即d 但是不知道有多少列,所以用【這里面寫幾個就表示幾個列 】 
                     dwr.util.addRows("tb",rst,["uid","uname",deptName]);
                    
                }

            
    </script>
        
    </head>

        
    <body>
            
    <input type="button" value="添加內容" onclick="gets();">
            
    <select id="sl"></select>
            
    <table >
                
    <tbody id="tb"></tbody>
            
    </table>
        
    </body>
    </html>

    Feedback

    # re: Dwr框架在客戶端遠程調用方法返回自定義類型的例子[未登錄]  回復  更多評論   

    2008-11-27 09:52 by dragon

    請教下,為什么我從hibernate里面拉出來的數據,返回前臺時,第一項數據為空, 自定義類型中含有另一個自定義類型,就跟你寫的Users中含有dept類型的屬性,報錯信息 s0 is not defined,使用firebug查看后臺傳到前數的數據.dwr.engine._remoteHandleCallback('0','0',[null,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10]);
    麻煩兄弟指點下,謝謝

    # re: Dwr框架在客戶端遠程調用方法返回自定義類型的例子  回復  更多評論   

    2009-02-19 08:18 by fdwwh
    這個例子很好!

    posts - 0, comments - 21, trackbacks - 0, articles - 101

    Copyright © H2O

    主站蜘蛛池模板: 亚洲熟女少妇一区二区| 亚洲成a人片在线观看久| 亚洲国产精品第一区二区 | 亚洲午夜电影在线观看高清| 一级毛片在线免费观看| 亚洲Av永久无码精品三区在线| 四虎国产精品免费永久在线| 亚洲精品成人无码中文毛片不卡| 中文字幕免费在线看| 亚洲精品白浆高清久久久久久| 青柠影视在线观看免费高清 | 亚洲婷婷国产精品电影人久久| 一级毛片高清免费播放| 亚洲伊人色欲综合网| 久久免费视频精品| 亚洲日韩乱码中文无码蜜桃臀| 亚洲一级免费视频| 中国亚洲呦女专区| 亚洲国产精品无码久久久久久曰| 成人国产精品免费视频| 亚洲资源在线观看| 成年性生交大片免费看| 免费大片av手机看片高清| 精品国产综合成人亚洲区| 免费女人高潮流视频在线观看| 亚洲大尺码专区影院| 四虎影永久在线高清免费| 花蝴蝶免费视频在线观看高清版 | 亚洲人成色7777在线观看| 中文字幕在线免费观看| 一本色道久久88—综合亚洲精品| 国产jizzjizz免费视频| 久久成人a毛片免费观看网站| 456亚洲人成影院在线观| 免费v片在线观看无遮挡| 永久免费A∨片在线观看| 亚洲人成网站18禁止| 亚洲伊人色欲综合网| 一二三四免费观看在线视频中文版 | 亚洲综合色一区二区三区| 亚洲国产日韩成人综合天堂 |