f:ajax 请求的 p:ajaxStatus

发布于 2024-12-02 06:41:30 字数 117 浏览 0 评论 0原文

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

I would like to use Primefaces p:ajaxStatus for normal f:ajax requests. Or maybe there's an opensource component for status icons for normal JSF ajax requests that i can use and style it the same way as Primefaces one?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

娇女薄笑 2024-12-09 06:41:30

您实际上并不需要组件。一段简单的 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>

You don't really need a component. A simple piece of Javascript will do (what follows is a proof-of-concept, no ajax error handling, supports only one ajax request at a time, no special js libraries - fixes are left as an exercise for the reader):

<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>
っ〆星空下的拥抱 2024-12-09 06:41:30

基于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>

Based on PrimeFace, covers all ajax request of the site, including the attribute '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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文