WebWork2.2新特性(九) AJAX之Tabbed Panels(選項卡)


          Tabbed Panels(選項卡)是一個具有多個選項頁面的控件.在應用程序中很常見.

          在WebWork中,還有另外一個tabbedPane,和這個類似,不過它的使用方法和本控件不同,具體可以參考以前版本中的TabbedPaneTest.action例子.

          首先,我們把wiki文檔翻譯一下:

          此面板組件允許你有一個選項卡面板,每個選項頁可以擁有本地的內(nèi)容或者遠程的內(nèi)容(用戶每次選擇這個選項頁都會刷新內(nèi)容).

          屬性 - ww:tabbedPanel

          名稱描述
          id (required) 組件標識

          屬性 - ww:panel

          名稱描述
          id (required) 標識ID
          tabName (required) 選項文字,顯示在選項頁列表的頭部
          href (required if remote panel) 用來獲取內(nèi)容的網(wǎng)址
          remote true/false - 用來確定這是一個遠程面板(ajax)還是一個本地面板 (內(nèi)容會裝入可視或隱藏的容器)
          loadingText 新的遠程內(nèi)容被獲取之前顯示的文字
          reloadingText 裝載內(nèi)容時對用戶顯示的文字,特別是取內(nèi)容的時候要花費很長的時間 (僅對遠程面板可用)
          errorText 如果取內(nèi)容時發(fā)生了錯誤,向用戶顯示的提示 (僅對遠程面板可用)
          showErrorTransportText true/false - 當獲取內(nèi)容有問題的時候,是否把錯誤信息當作內(nèi)容顯示(僅對遠程面板可用)
          listenTopics 監(jiān)聽的Topic名稱(多個逗號分割),將會導致此面板重新獲取內(nèi)容

          額外的配置

          如果你在尋找"好看"的圓角效果, 這里有一個可用的配置. 這里假設選項卡的背景色是白色.如果你使用了不同的顏色,請修改 Rounded() 方法的參數(shù).

          <link rel="stylesheet" type="text/css" href="<ww:url value="/webwork/tabs.css"/>">
          <link rel="stylesheet" type="text/css" href="<ww:url value="/webwork/niftycorners/niftyCorners.css"/>">
          <link rel="stylesheet" type="text/css" href="<ww:url value="/webwork/niftycorners/niftyPrint.css"/>" media="print">
          <script type="text/javascript" src="<ww:url value="/webwork/niftycorners/nifty.js"/>"></script>
          <script type="text/javascript">
          dojo.event.connect(window, "onload", function() {
          if (!NiftyCheck())
          return;
          Rounded("li.tab_selected", "top", "white", "transparent", "border #ffffffS");
          Rounded("li.tab_unselected", "top", "white", "transparent", "border #ffffffS");
          // "white" 要替換為你的背景色
              });
          </script>

           

           

          我們首先來分析一個例子,

          <ww:tabbedPanel id="test" theme="ajax">
                          
              <ww:panel id="one" tabName="one" theme="ajax">
                    This is the first pane<br/>
                 <ww:form>
                   <ww:textfield name="tt" label="Test Text"/>  <br/>
                   <ww:textfield name="tt2" label="Test Text2"/>
                 </ww:form>
              </ww:panel>
                             
              <ww:panel id="two" tabName="two" theme="ajax">
                  This is the second panel
              </ww:panel>
                              
          </ww:tabbedPanel> 

          這個選項卡包含了2個選項頁面,都是本地頁面,使用ww:panel來定義頁面內(nèi)容,使用的模板都是ajax模板.

          我們再來看如何定義遠程頁面:

          <ww:tabbedPanel id="test2" theme="simple" >
                <ww:panel id="left" tabName="left" theme="ajax">
                    This is the left pane<br/>
                    <ww:form >
                        <ww:textfield name="tt" label="Test Text" />  <br/>
                        <ww:textfield name="tt2" label="Test Text2" />
                    </ww:form>
                </ww:panel>
                <ww:panel remote="true" href="/AjaxTest.action" id="ryh1" theme="ajax" tabName="remote one" />
                <ww:panel id="middle" tabName="middle" theme="ajax">
                    middle tab<br/>
                    <ww:form >
                        <ww:textfield name="tt" label="Test Text44" />  <br/>
                        <ww:textfield name="tt2" label="Test Text442" />
                    </ww:form>
                </ww:panel>
                <ww:panel remote="true" href="/AjaxTest.action"  id="ryh21" theme="ajax" tabName="remote right" />
            </ww:tabbedPanel>

          可以看到定義了四個選項頁面,其中有2個是遠程頁面.

          每次切換頁面時,相應"遠程頁面"的內(nèi)容都會刷新,本地頁面是不刷新的.

          同時遠程頁面也可以監(jiān)聽Topic,具體使用可以參考Remote A或者使用JavaScript進行調(diào)用.(注:beta1里面的相關程序有一些錯誤)

           

          除經(jīng)特別注明外,本文章版權歸JScud Develop團隊或其原作者所有.
          轉(zhuǎn)載請注明作者和來源.  scud(飛云小俠)  歡迎訪問 JScud Develop

          posted on 2005-09-13 18:33 Scud(飛云小俠) 閱讀(1227) 評論(0)  編輯  收藏 所屬分類: WEB

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

          導航

          統(tǒng)計

          公告

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

          我的郵件
          cnscud # gmail


          常用鏈接

          留言簿(15)

          隨筆分類(113)

          隨筆檔案(103)

          相冊

          友情鏈接

          技術網(wǎng)站

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 房山区| 宜州市| 云南省| 永川市| 石家庄市| 宿迁市| 鄄城县| 定远县| 寿光市| 全南县| 通河县| 丰台区| 柳江县| 江西省| 南皮县| 河东区| 盐边县| 芜湖市| 米脂县| 忻州市| 武汉市| 贡山| 林口县| 金昌市| 辛集市| 榆树市| 肇源县| 青州市| 郁南县| 丽江市| 岗巴县| 积石山| 新和县| 浮山县| 阿图什市| 五台县| 策勒县| 崇左市| 镇平县| 林西县| 琼结县|