巧用Ajax4Jsf的oncomplete事件

笔者在最近的项目中采用的是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

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值