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

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

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

    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框架獲得自定義對(duì)象以及集合中的對(duì)象的相關(guān)屬性值
        public List<Users> getAllUsers(){
            List
    <Users> lst = new ArrayList<Users>();
            
    //只是為了演示方便所以僅模仿從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)獲得數(shù)據(jù)
            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>
            
    <!--要判斷后臺(tái)是否已經(jīng)寫好,可以到測(cè)試也看一看  -->
            
    <!-- 轉(zhuǎn)換器:dwr框架根據(jù)轉(zhuǎn)換器的配置自動(dòng)轉(zhuǎn)換成json對(duì)象
                bean 以javabean的方式轉(zhuǎn)換 
                所有參數(shù)如下:
                自定義 Converters(轉(zhuǎn)換)
                Bean/Object Converter
                Array/Collection Converter
                Dom Objects
                Enum Converter
            
    -->
            
    <convert converter="bean" match="com.yz.dwr.Dept">
                
    <!-- 這里可以加參數(shù),如果沒有加就會(huì)把該類的所有屬性轉(zhuǎn)為json對(duì)象,如果
                    加了參數(shù)表示只會(huì)轉(zhuǎn)換value包含的屬性值到j(luò)son對(duì)象,要轉(zhuǎn)換的各屬性用逗號(hào)隔開
                    <param name="include" value="uid,username"/>
                
    -->
            
    </convert>
            
    <convert converter="bean" match="com.yz.dwr.Users"></convert>

            
    <!-- javascript的對(duì)象是xiaoyi,create="new"是DWR通過new關(guān)鍵字創(chuàng)建value所對(duì)應(yīng)的
                類的實(shí)例調(diào)用該類的方法 include表示只允許調(diào)用某些方法,exclude表示除了某方法之外其他
                的都不能調(diào)用 如果都沒寫表示所有公有方法都能調(diào)用
            
    -->
            
    <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是遠(yuǎn)程調(diào)用方法返回的集合循環(huán)遍歷的第i個(gè)對(duì)象
                var deptName = function (objInList){
                    
    //返回第i個(gè)對(duì)象(用戶對(duì)象)的部門對(duì)象屬性的部門名稱
                    return objInList.dep.deptName;
                }

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

            
    </script>
        
    </head>

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

    Feedback

    # re: Dwr框架在客戶端遠(yuǎn)程調(diào)用方法返回自定義類型的例子[未登錄]  回復(fù)  更多評(píng)論   

    2008-11-27 09:52 by dragon

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

    # re: Dwr框架在客戶端遠(yuǎn)程調(diào)用方法返回自定義類型的例子  回復(fù)  更多評(píng)論   

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

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

    Copyright © H2O

    主站蜘蛛池模板: 亚洲激情中文字幕| 亚洲视频在线观看一区| 久久精品国产精品亚洲艾草网美妙| 久久亚洲中文字幕精品一区四| 亚洲理论电影在线观看| 亚洲网站视频在线观看| 亚洲性色AV日韩在线观看| 美女黄频免费网站| 久久精品免费一区二区三区| 最近高清中文字幕无吗免费看| 在线免费观看毛片网站| 亚洲精品456播放| 久久亚洲国产成人精品性色| 亚洲日韩亚洲另类激情文学| 又硬又粗又长又爽免费看 | 亚洲乱码中文论理电影| 色屁屁在线观看视频免费| 国产真人无码作爱视频免费| 和日本免费不卡在线v| 亚洲美女在线国产| 亚洲精品456在线播放| 老湿机一区午夜精品免费福利| 一个人免费视频观看在线www| 国产大片免费网站不卡美女| 日批日出水久久亚洲精品tv| 久久精品国产亚洲AV高清热| 亚洲av日韩专区在线观看| 最新国产乱人伦偷精品免费网站 | 亚洲AV永久精品爱情岛论坛| 伊人久久五月丁香综合中文亚洲 | aa级一级天堂片免费观看| 亚洲精品高清一二区久久| 亚洲成电影在线观看青青| 欧亚一级毛片免费看| 91高清免费国产自产| 久久久久亚洲AV综合波多野结衣 | 国产精品黄页免费高清在线观看| 精品国产无限资源免费观看| 亚洲AV无码乱码在线观看牲色| 亚洲美女一区二区三区| 日韩在线视频线视频免费网站|