如何在jsf操作中使用Javascript和Icefaces更新页面状态?
如何在完成如何在jsf操作中使用Javascript和Icefaces更新页面状态?,jsf,icefaces,icefaces-3,Jsf,Icefaces,Icefaces 3,如何在完成h:commondButton操作时启动服务器端或客户端事件处理程序? 此服务器端进程需要一些时间才能完成。 当我单击按钮时,需要一些时间来完成工作并更新UI。我想在UI更新时触发一些东西。 我是JSF新手。请帮我做这个 谢谢 Icefaces有一个javascript库,可以在客户端对事件进行排队。Icefaces在操作完成后刷新DOM,这样您就可以在操作方法结束时对事件进行排队 这是我在IceFaces1.8.x和2.0中使用的东西。我不太确定IceFaces3是否添加了任何特殊组
h:commondButton
操作时启动服务器端或客户端事件处理程序?
此服务器端进程需要一些时间才能完成。
当我单击按钮时,需要一些时间来完成工作并更新UI。我想在UI更新时触发一些东西。
我是JSF新手。请帮我做这个
谢谢 Icefaces有一个javascript库,可以在客户端对事件进行排队。Icefaces在操作完成后刷新DOM,这样您就可以在操作方法结束时对事件进行排队
这是我在IceFaces1.8.x和2.0中使用的东西。我不太确定IceFaces3是否添加了任何特殊组件/代码来捕获DOM更新事件
xhtml
通过在h:commandButton上使用f:ajax并在ajax调用期间重新呈现消息,您也可以非常轻松地完成此任务
你不能只使用普通的
来完成。您需要
或一些IceFaces命令按钮组件来实现这一点。你可以在网上找到很多关于JSf
的教程。Icefaces 3有自动Ajax for h:commandbutton和DOM rerender for Update components。非常感谢。几天来我一直在寻找类似的解决方案。再次感谢!对于使用较新版本的ICEFACES
,您需要使用JavaScriptRunner.runScript(FacesContext.getCurrentInstance(),“toggleDisplay('msgDiv','none');
,请检查
<script>
function toggleDisplay(id,style)
{
document.getElementById(id).style.display = style;
}
</script>
<div id="msgDiv" style="display:none">Processing ..</div>
<h:commandButton action="#{mybean.doUpdate}"
onclick="toggleDisplay('msgDiv','visible')"/>
public class MyBean{
....
doUpdate(ActionEvent e){
//do stuff
JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(),
"toggleDisplay('msgDiv','none');")
}
}