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

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

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

    WebWork2.2新特性(九) AJAX之Remote Div Tag

    首先,我們把wiki上的文檔"使用"一下: 原文地址http://wiki.opensymphony.com/display/WW/Remote+DIV+Tag

    Remote DIV 標(biāo)簽和普通的Html的DIV標(biāo)簽工作方式是一樣的,但是它可以通過標(biāo)簽內(nèi)指定的一個(gè)網(wǎng)址來裝載它的內(nèi)容.

    屬性

    名稱描述
    id (必有) DIV的ID
    href (必有) 用來獲取內(nèi)容的網(wǎng)址
    delay 第一次裝載內(nèi)容需要延遲多長時(shí)間 (毫秒)
    updateFreq 多長時(shí)間重新取一次內(nèi)容 (毫秒)
    loadingText 裝載內(nèi)容中對(duì)用戶顯示的文字 (特別是取內(nèi)容的時(shí)候要花費(fèi)很長的時(shí)間
    errorText 如果取內(nèi)容時(shí)發(fā)生了錯(cuò)誤,向用戶顯示的提示
    showErrorTransportText true/false - 當(dāng)獲取內(nèi)容有問題的時(shí)候,是否把錯(cuò)誤信息當(dāng)作內(nèi)容顯示
    listenTopics 監(jiān)聽的Topic名稱(多個(gè)逗號(hào)分割), 將會(huì)導(dǎo)致此DIV重新獲取內(nèi)容
    afterLoading 獲取內(nèi)容后要執(zhí)行的Javascript代碼

    其他功能

    使用javascript代碼我們還可以刷新內(nèi)容,停止或者開始刷新組件.例如一個(gè)id是"remotediv1"的div組件:

    開始刷新的javascript代碼:

    remotediv1.start();

    停止刷新的javascript代碼:

    remotediv1.stop();

    刷新內(nèi)容的javascript代碼:

    remotediv1.bind();

     

    翻譯完畢(注:原文是會(huì)被隨時(shí)修改的,請以原文為主)

    其中href的地址會(huì)自動(dòng)加上Web App的前綴,如果你已經(jīng)自己寫上了,就不會(huì)在加了,所以要避免子目錄和web app同名.

     
    Remote DIV標(biāo)簽我覺得最值得關(guān)注的特性包括:

    •  可以自己重新裝載自己的內(nèi)容
    •  可以監(jiān)聽Topic,也就是別的動(dòng)作可以引發(fā)更新內(nèi)容的行為
    •  JavaScript代碼可以控制它的行為
       
       

    首先我們來看Remote Div標(biāo)簽的最簡單的一個(gè)例子example1.jsp:

     <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     <%@ taglib prefix="ww" uri="/webwork" %>
     <html>
     <head>
         <title>Ajax Examples</title>
         <jsp:include page="../commonInclude.jsp"/>
     </head>
     <body>
     <ww:div id="once"  theme="ajax"   cssStyle="border: 1px solid yellow;"   
      href="/AjaxTest.action"   delay="5000"   loadingText="loading...">Initial Content</ww:div>
     </body></html> 

    :了解commonInclude.jsp,請閱讀"AJAX之介紹".


    我們再來看example1.jsp這個(gè)文件,內(nèi)容非常簡單,使用了一個(gè)ww:div標(biāo)簽,設(shè)置了一個(gè)id,使用的是ajax這個(gè)模板(如果你想定義自己的模板,請務(wù)必參考ajax模板的編寫方法),設(shè)置讀取內(nèi)容的url為"/AjaxTest.action",設(shè)置延遲5000毫秒后讀取內(nèi)容,裝載內(nèi)容時(shí)顯示的文本設(shè)置為"loading...",div顯示時(shí)的初始內(nèi)容時(shí)"Initial Content".

    是的,很簡單,在打開網(wǎng)頁5秒后,標(biāo)簽會(huì)自動(dòng)去訪問"/AjaxTest.action",并把獲取的內(nèi)容設(shè)置為Div的內(nèi)容.


    我們再來看一個(gè)定時(shí)自動(dòng)刷新的例子:

    <ww:div  id="twoseconds"    cssStyle="border: 1px solid yellow;"   href="/AjaxTest.action"
             theme="ajax" delay="2000"  updateFreq="3000" errorText="There was an error">Initial Content</ww:div> 

    這個(gè)標(biāo)簽產(chǎn)生的結(jié)果每3秒鐘刷新一次DIV的內(nèi)容,和上面的差不多,只是多了一個(gè)updateFreq設(shè)置.

    此標(biāo)簽還有一個(gè)afterLoading屬性,使用方法如下:

    <ww:div  ......   afterLoading=’alert("done")’>Initial Content</ww:div> 

    或者

    <ww:div  ......   afterLoading="alert(\"done\")">Initial Content</ww:div> 


    注意:目前使用afterLoading="alert(’done’)"的方法好像有點(diǎn)問題,好像是dojo內(nèi)部處理引發(fā)的問題.

     

    監(jiān)聽Topic是通過JavaScript代碼或者其他部件來觸發(fā)的,使用JavaScript的示例如下:

    <ww:div   id="once"    theme="ajax"     cssStyle="border: 1px solid yellow;"  href="/ajax/test1.jspa"
             delay="5000"  loadingText="loading..."    listenTopics="scud1"   >Initial Content</ww:div> 

    這個(gè)Div標(biāo)簽將監(jiān)聽Topic為"scud1"的事件.

    我們可以使用一個(gè)普通按鈕來觸發(fā)事件:

     <script type="text/javascript">
      function scud1() { dojo.event.topic.publish( "scud1", "alert(’test’);" ); }
     </script>
     <INPUT type="button" onclick="scud1()" value="click"> 

    點(diǎn)擊這個(gè)按鈕,將會(huì)導(dǎo)致Div標(biāo)簽重新裝入內(nèi)容. 注意一個(gè)Div標(biāo)簽可以監(jiān)聽多個(gè)Topic,用逗號(hào)分割即可.

    至于使用其他部件觸發(fā)事件的代碼,我們將會(huì)在使用Remote A Tag時(shí)用到.

     

     

    posted on 2005-09-10 22:21 Scud(飛云小俠) 閱讀(959) 評(píng)論(0)  編輯  收藏 所屬分類: WEB

    <2005年9月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    文章發(fā)布許可
    創(chuàng)造共用協(xié)議:署名,非商業(yè),保持一致

    我的郵件
    cnscud # gmail


    常用鏈接

    留言簿(15)

    隨筆分類(113)

    隨筆檔案(103)

    相冊

    友情鏈接

    技術(shù)網(wǎng)站

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 在线亚洲午夜理论AV大片| 亚洲永久永久永久永久永久精品| 成人免费网站久久久| A片在线免费观看| 免费国内精品久久久久影院| 亚洲第一精品电影网| 女人被免费视频网站| 中文字幕免费在线观看动作大片| 免费在线观看视频a| A片在线免费观看| 国产精品亚洲一区二区三区久久 | 国产高潮久久免费观看| 亚洲电影国产一区| 青柠影视在线观看免费高清| 亚洲一区二区三区高清视频| 亚洲精品在线视频| 国产免费AV片在线播放唯爱网| 一区在线免费观看| 亚洲香蕉久久一区二区| 免费看无码自慰一区二区| 亚洲另类自拍丝袜第五页| 国产AV无码专区亚洲A∨毛片| 成人免费淫片在线费观看 | 久久er国产精品免费观看2| 亚洲AV无码国产在丝袜线观看| 永久在线观看免费视频| 中文无码亚洲精品字幕| 亚洲AV无码国产丝袜在线观看| 免费无遮挡无码永久在线观看视频| 青娱乐在线视频免费观看| 亚洲高清不卡视频| 成视频年人黄网站免费视频| 两个人看www免费视频| 激情婷婷成人亚洲综合| 亚洲av片不卡无码久久| 亚洲日本精品一区二区| 18国产精品白浆在线观看免费| 亚洲欧洲日产国码久在线| 亚洲最大黄色网址| 亚洲AV日韩AV永久无码久久| 亚洲欧洲自拍拍偷精品 美利坚|