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