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

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

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

    談笑有鴻儒,往來無白丁

    在恰當(dāng)?shù)臅r(shí)間、地點(diǎn)以恰當(dāng)?shù)姆绞奖磉_(dá)給恰當(dāng)?shù)娜?..  閱讀的時(shí)候請(qǐng)注意分類,佛曰我日里面是談笑文章,其他是各個(gè)分類的文章,積極的熱情投入到寫博的隊(duì)伍中來,支持blogjava做大做強(qiáng)!向dudu站長(zhǎng)致敬>> > 我的微博敬請(qǐng)收聽
    假設(shè)您要從資料庫(kù)中查詢出一些字串,然後填寫到表單的下拉選單中。

    例如一個(gè)示意的Java程式如下:
    1
    2
    3
    4
    5
    6
    7
    8
    package onlyfun.caterpillar;
    ?
    publicclass Option {
    public String[] getOptions() {
    // 實(shí)際上這些字串是從資料庫(kù)中查到的啦…
    returnnew String[] {"良葛格", "毛美眉", "米小狗"};
    }
    }


    傳回的字串陣列,您要填寫到下拉選單中,當(dāng)然,首先我們要在dwr.xml中開發(fā)這個(gè)物件…
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN""http://www.getahead.ltd.uk/dwr/dwr10.dtd">

    <dwr>
    <allow>
    <create creator="new" javascript="OPT">
    <param name="class" value="onlyfun.caterpillar.Option"/>
    </create>
    </allow>
    </dwr>


    這是我們的網(wǎng)頁(yè)…
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=BIG5">
    <script src="option.js" type="text/javascript"></script>
    <script src="dwr/interface/OPT.js" type="text/javascript"></script>
    <script src="dwr/engine.js" type="text/javascript"></script>
    <script src="dwr/util.js" type="text/javascript"></script>
    ?
    </head>
    ?
    <body>
    選項(xiàng): <select id="opts"></select>
    </body>
    </html>


    傳回的字串陣列會(huì)填入opts這個(gè)select中,我們的option.js如下…
    1
    2
    3
    4
    5
    6
    7
    8
    window.onload = function() {
    OPT.getOptions(populate);
    };
    ?
    function populate(list){
    DWRUtil.removeAllOptions("opts");
    DWRUtil.addOptions("opts", list);
    }


    夠簡(jiǎn)單了…不需要解釋了…

    看一下結(jié)果…?



    好啦!我知道有人在說了,這個(gè)程式有夠無聊…Dead

    改一下!就是個(gè)不錯(cuò)的範(fàn)例了,例如連動(dòng)方塊,唔!在Ajax in action中叫啥?Dynamic double combo?…

    假設(shè)一個(gè)會(huì)去從資料庫(kù)中查詢資料的Java程式示意如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    package onlyfun.caterpillar;
    ?
    import java.util.Map;
    import java.util.TreeMap;
    ?
    publicclass Bike {
    ??private Map<String, String[]> bikes;
    ??
    ??public Bike() {
    ????bikes = new TreeMap<String, String[]>();
    ????bikes.put("2000", new String[] {"2000 T1", "2000 T2", "2000 T3"});
    ????bikes.put("2001", new String[] {"2001 A1", "2001 A2"});
    ????bikes.put("2002", new String[] {"2002 BW1", "2002 BW2", "2002 BW"});
    ????bikes.put("2003", new String[] {"2003 S320"});
    ????bikes.put("2004", new String[] {"2004 TA1", "2004 TA2", "2004 TA3"});
    ??}
    ??
    ??public String[] getYears() {
    ????String[] keys = new String[bikes.size()];
    ????int i = 0;
    ????for(String key : bikes.keySet()) {
    ??????keys[i++] = key;
    ????}
    ????return keys;
    ??}
    ??
    ??public String[] getBikes(String year) {
    ????return bikes.get(year);
    ??}
    }


    getYears()跟getBkies()分別表示產(chǎn)品的年份跟型號(hào),這邊用Map模擬,實(shí)際上資料是來自資料庫(kù)的查詢。

    一樣的,在dwr.xml中設(shè)定:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN""http://www.getahead.ltd.uk/dwr/dwr10.dtd">

    <dwr>
    <allow>
    <create creator="new" javascript="Bike" scope="application">
    <param name="class" value="onlyfun.caterpillar.Bike"/>
    </create>
    </allow>
    </dwr>


    我們會(huì)有個(gè)腳踏車年份與型號(hào)查詢頁(yè)面:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=BIG5">
    <title>Insert title here</title>
    <script type='text/javascript' src='dwr/interface/Bike.js'></script>
    <script type='text/javascript' src='dwr/engine.js'></script>
    <script type='text/javascript' src='dwr/util.js'></script>
    <script type='text/javascript' src='bike.js'></script>
    </head>
    <body onload="refreshYearList();">
    ??年份:<select id="years" onchange="refreshBikeList();"></select><br/><br/>
    ??型號(hào):<select id="bikes"></select><br/>
    </body>
    </html>


    注意,在選完第一個(gè)年份後,會(huì)觸發(fā)onchange事件,接著第二個(gè)下拉選單會(huì)自動(dòng)填上對(duì)應(yīng)年份的型號(hào),而不是按鈕按下,再去取得第二個(gè)下拉選單,然後refresh...blah...blah...

    bike.js如下…
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function refreshYearList() {
    Bike.getYears(populateYearList);
    }
    ?
    function populateYearList(list){
    DWRUtil.removeAllOptions("years");
    DWRUtil.addOptions("years", list);
    refreshBikeList();
    }
    ?
    function refreshBikeList() {
    var year = $("years").value;
    Bike.getBikes(year, populateBikeList);
    }
    ?
    function populateBikeList(list){
    DWRUtil.removeAllOptions("bikes");
    DWRUtil.addOptions("bikes", list);
    }


    一樣很簡(jiǎn)單…

    看個(gè)無聊的畫面…XD




    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1239538

    posted on 2007-03-05 11:48 壞男孩 閱讀(1072) 評(píng)論(1)  編輯  收藏 所屬分類: java命令學(xué)習(xí)

    FeedBack:
    # re: DWR 入門與應(yīng)用(二)
    2007-04-18 15:58 | 好風(fēng)如水
    dwr是個(gè)不錯(cuò)的東東,推薦使用  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 久久久久久a亚洲欧洲AV| 亚洲AV中文无码乱人伦下载 | 亚洲欧洲精品无码AV| 亚洲精品无码不卡在线播HE| 亚洲毛片在线观看| 亚洲成熟丰满熟妇高潮XXXXX| 男女啪啪免费体验区| 暖暖在线视频免费视频| 16女性下面无遮挡免费| 免费日本黄色网址| 久久亚洲国产视频| 无码精品国产一区二区三区免费| 欧洲美熟女乱又伦免费视频| 国内精品久久久久久久亚洲| 色噜噜亚洲男人的天堂| 中文字幕的电影免费网站| 黄页免费的网站勿入免费直接进入 | 亚洲天堂中文字幕在线观看| 香蕉国产在线观看免费| 男女超爽刺激视频免费播放| 亚洲人成影院在线高清| 99在线热播精品免费99热| 精品国产免费一区二区| 青娱乐在线视频免费观看| 操美女视频免费网站| 亚洲成色WWW久久网站| 黄页网站在线观看免费| 亚洲中文字幕久久精品无码喷水 | 亚洲一区二区三区免费| 日本二区免费一片黄2019| 精品亚洲成a人片在线观看少妇| 久久久受www免费人成| 亚洲国产一区视频| 亚洲人成自拍网站在线观看| 99久久人妻精品免费二区| 久久久久久a亚洲欧洲aⅴ| 亚洲一区二区三区免费观看| 久久亚洲成a人片| 永久免费毛片手机版在线看| 中文字幕成人免费高清在线 | 亚洲国产成人精品久久 |