巧用Ajax4Jsf的oncomplete事件

來源:互聯網
上載者:User
筆者在最近的項目中採用的是Jsf(myfaces+richfaces+Ajax4Jsf)+Spring+Hibernate技術,由於資料量大,系統反應時間為1.5~2秒,此時需要有提示的標記比如"正在理..."等。Ajax4Jsf中的"onsubmit"為提交表單時發生的動作,"oncomplete"為提交到伺服器端處理完返回到用戶端時執行的動作,這兩者的時間差就是我們等待的時間。我們也就是要在這個時間段內顯示標記。對於<t:commandButton/>或<t:commandLink /> 等可以用"onclick""ondblclick"等與"oncomplete"組合靈活應用。以下是簡例片段:
 1<!-- 執行的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;"/>

 

來源:http://www.blogjava.net/jakin/archive/2008/01/15/175523.html

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.