簡易代碼之家

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            157 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks
              筆者在最近的項目中采用的是Jsf(myfaces+richfaces+Ajax4Jsf)+Spring+Hibernate技術(shù),由于數(shù)據(jù)量大,系統(tǒng)反應時間為1.5~2秒,此時需要有提示的標記比如"正在理..."等。Ajax4Jsf中的"onsubmit"為提交表單時發(fā)生的動作,"oncomplete"為提交到服務器端處理完返回到客戶端時執(zhí)行的動作,這兩者的時間差就是我們等待的時間。我們也就是要在這個時間段內(nèi)顯示標記。對于<t:commandButton/>或<t:commandLink /> 等可以用"onclick""ondblclick"等與"oncomplete"組合靈活應用。以下是簡例片段:

           1<!-- 執(zhí)行的js方法 -->
           2<script type="text/javascript">
           3    function beforeChange(){
           4        var obj = document.getElementById('myForm:waitingGif');
           5        obj.style.display='block';
           6    }

           7    function afterChange(){
           8        var obj = document.getElementById('myForm:waitingGif');
           9        obj.style.display='none';
          10    }

          11
          </script>
          12<!-- 應用 -->
          13<t:panelGrid columns="3" id="listGrid" forceId="true">
          14    <t:selectOneRadio value="#{myBean.selectItem}">
          15        <a4j:support event="onclick"
          16            actionListener="#{myBean.selectItemChange}"
          17            reRender="listGrid" onsubmit="beforeChange()"
          18            oncomplete="afterChange()" />
          19        <f:selectItem itemLabel="上月" itemValue="4" />
          20        <f:selectItem itemLabel="本月" itemValue="3" />
          21        <f:selectItem itemLabel="上周" itemValue="2" />
          22        <f:selectItem itemLabel="本周" itemValue="1" />
          23    </t:selectOneRadio>
          24    <h:graphicImage id="waitingGif" value="/images/waiting.gif" style="display:none" />
          25</t:panelGrid>

          運行時的顯示效果:


          其實Ajax4Jsf也有對此效果的支持:
          1<a4j:status  startText="正在處理"  startStyle="font-size: 10pt;color:red;"/>
          頁面上運用<a4j:status />后所有提交到后臺的動作都可以被跟蹤標記,但要保證<a4j:status />在此動作的刷新區(qū)域。
          posted on 2008-01-15 18:34 Jakin.zhou 閱讀(7161) 評論(2)  編輯  收藏

          Feedback

          # re: 巧用Ajax4Jsf的oncomplete事件 2008-01-15 21:07 LifeNote
          使用prototype.js 有個onload方法 就是在發(fā)送請求到響應這段時間的函數(shù)了  回復  更多評論
            

          # re: 巧用Ajax4Jsf的oncomplete事件 2008-01-16 12:25 久城
          在Ext里是事件中的兩個屬性來完成:
          waitMsg:'Please Wait...',
          success:SuccessFunction
          呵呵......  回復  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 囊谦县| 大余县| 萨迦县| 新绛县| 秦安县| 竹北市| 蓝山县| 合山市| 岚皋县| 镇沅| 瑞安市| 江陵县| 嘉祥县| 青海省| 崇阳县| 志丹县| 万宁市| 象山县| 九台市| 太谷县| 白朗县| 中牟县| 锡林浩特市| 德昌县| 老河口市| 东海县| 巴里| 龙南县| 科技| 榕江县| 大洼县| 枣阳市| 林西县| 崇阳县| 长寿区| 依安县| 太康县| 周宁县| 津市市| 灵川县| 九寨沟县|