<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 閱讀(2304) 評論(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

    主站蜘蛛池模板: 自拍偷自拍亚洲精品被多人伦好爽| 亚洲av无码日韩av无码网站冲| 又色又污又黄无遮挡的免费视| 免费看又黄又无码的网站| 人人爽人人爽人人片A免费| 亚洲国产高清美女在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲视频在线观看免费| 亚洲第一黄色网址| 日韩高清在线免费观看| 成人免费在线看片| 无码国产精品一区二区免费式芒果 | 亚洲欧美日本韩国| 亚洲依依成人精品| 久久亚洲日韩精品一区二区三区| 亚洲精品一级无码中文字幕| 日本一道一区二区免费看| 日本三级2019在线观看免费| 国产成人精品免费直播 | 四虎免费大片aⅴ入口| 100000免费啪啪18免进| 8x成人永久免费视频| 国产拍拍拍无码视频免费| 最近免费字幕中文大全| 丝袜足液精子免费视频| jizz免费观看| 中文字幕在线免费播放| 成人毛片100免费观看| 久久嫩草影院免费看夜色| 国产精品玖玖美女张开腿让男人桶爽免费看 | 狠狠入ady亚洲精品| 亚洲国产精华液2020| 亚洲欧美日韩中文二区| 毛片a级毛片免费观看品善网| aⅴ免费在线观看| 中文字幕无码免费久久99| 国产桃色在线成免费视频| 大地资源在线观看免费高清| 青娱乐免费视频在线观看| 67194成是人免费无码| 好男人视频社区精品免费|