0
我正在使用Prime Faces(JSF UI庫)。Prime Faces:如何從頁面A導航到(慢)頁面B,並顯示進度「正在加載...」指標
我想從頁面A導航到頁面B,但是由於頁面B速度較慢,因此需要一些時間來加載。
我該怎麼做?
我正在使用Prime Faces(JSF UI庫)。Prime Faces:如何從頁面A導航到(慢)頁面B,並顯示進度「正在加載...」指標
我想從頁面A導航到頁面B,但是由於頁面B速度較慢,因此需要一些時間來加載。
我該怎麼做?
爲此,您可以對網頁B添加AJAX裝載第B你有這樣的事情:
<h:head>
<script type="text/javascript">
function onLoadCallback(data) {
if (data.status == "begin") {
dialogWidget.show();
} else {
dialogWidget.hide();
}
}
</script>
</h:head>
<h:body>
<f:ajax event="load" listener="#{bean.onload}" onevent="onLoadCallback" render=":include1"/>
<h:panelGroup id="include1">
<h:panelGroup id="include2" rendered="#{bean.loaded}">
<ui:include src="realPageB.xhtml"/>
</h:panelGroup>
</h:panelGroup>
<p:dialogid="dialog" widgetVar="dialogWidget" modal="true">
Loading
</p:dialog>
</h:body>
有了這個,你用AJAX(速度快),最初只裝載頁面,你叫方法更新面板哪些組實際頁面。在加載過程中,您將看到模態對話框(您也可以使用p:ajaxStatus
進行試驗)。在豆initali loaded
是假的,之後onload
方法被稱爲更新loaded
爲true:
private loaded;
// getters and setters
public void onload(AjaxBehaviourEvent event) {
loaded = true;
}
感謝Partlov。 – Danijel 2013-06-26 08:30:30
我正在嘗試,但不起作用。 'onLoadCallback(data)'中的'data'是什麼? – Danijel 2013-07-02 15:07:55
由於某些原因,它仍然無法正常工作。 'onLoadCallback'永遠不會執行。 ? – Danijel 2013-07-02 15:40:55