p:ajaxStatus用于f:ajax请求

时间:2011-08-29 08:02:52

标签: ajax jsf jsf-2 primefaces

我想将Primefaces p:ajaxStatus用于普通的f:ajax请求。或者也许有一个开源组件用于正常JSF ajax请求的状态图标,我可以使用它并将其设置为与Primefaces相同的方式?

2 个答案:

答案 0 :(得分:2)

你真的不需要一个组件。一个简单的Javascript将会做(接下来是一个概念验证,没有ajax错误处理,一次只支持一个ajax请求,没有特殊的js库 - 修复程序留给读者练习):

<img id='busy' src='busy.png' style='display: none'>
<img id='notbusy' src='notbusy.png'>
<script>
  var evil_global_busy = document.getElementById('busy')
  var evil_global_notbusy = document.getElementById('notbusy')
  jsf.ajax.addOnEvent(function(e){
     if (e.status == "begin") {
        evil_global_busy.style.display = '';
        evil_global_notbusy.style.display = 'none';
     }
     if (e.status == "success") {
        evil_global_busy.style.display = 'none';
        evil_global_notbusy.style.display = '';
     }
  })
</script>

答案 1 :(得分:1)

基于PrimeFace,涵盖网站的所有ajax请求,包括属性“update”

<p:ajaxStatus>
   <f:facet name="start">
       <h:graphicImage library="image" name="loading.gif" />
    </f:facet>
    <f:facet name="error">
       <h:outputText value="Error. " />
    </f:facet>
       <f:facet name="complete">
    <h:outputText value="" />
    </f:facet>
 </p:ajaxStatus>