如何實用地添加「獲取數據」之類的進度信息。當數據被獲取時,我需要在空白頁面上顯示這條消息。我是ADF的新手,所以如果它是非常基本的東西,請原諒我。我無法在網上找到它。進度信息
Q
進度信息
0
A
回答
2
你可以在你的頁面或pagefragment中使用javascript。我的例子使用頁面片段,所以彈出窗口的ID必須包含區域。如果您在查找正確的ID時遇到問題,可以從任何瀏覽器查看它,使用View Source,然後搜索您輸入的名稱(在本例中爲splashPopup)。
<af:resource type="javascript">
function enforcePreventUserInput(evt) {
var popup = AdfPage.PAGE.findComponentByAbsoluteId('pt1:r1:0:splashPopup');
if (popup != null) {
AdfPage.PAGE.addBusyStateListener(popup, handleBusyState);
evt.preventUserInput();
}
}
function handleBusyState(evt) {
var popup = AdfPage.PAGE.findComponentByAbsoluteId('pt1:r1:0:splashPopup');
if (popup != null) {
if (evt.isBusy()) {
popup.show();
}
else if (popup.isPopupVisible()) {
popup.hide();
AdfPage.PAGE.removeBusyStateListener(popup, handleBusyState);
}
}
}
</af:resource>
pageFragment內部的彈出窗口。它顯示一個簡單的旋轉圈gif動畫。如果你需要在谷歌上,你可以找到許多其他的動畫。
<af:popup id="p1" contentDelivery="immediate">
<af:dialog id="d2" type="none" closeIconVisible="false" title="Loading">
<af:panelGroupLayout id="pgl5" layout="vertical" halign="center">
<af:image source="/images/loading.gif" shortDesc="Loading data..." id="i1"/>
</af:panelGroupLayout>
</af:dialog>
</af:popup>
現在,我想你會希望在按下按鈕或圖像鏈接後,在長時間運行的查詢或其他長時間運行的過程中顯示彈出窗口。爲此,您必須在組件上定義一個clientListener,它使用上面定義的javascript方法。
<af:commandImageLink text="Test LongRunning Query" id="cil1" icon="/icons/excel.jpg"
action="#{myBean.doStuff}"
<af:clientListener method="enforcePreventUserInput" type="action">
</af:clientListener>
</af:commandImageLink>
1
如果你有一個長時間運行的方法調用,然後你可以調用在頁面加載
<af:serverListener type="onloadEvent"
method="#{backingBeanScope.initBean.callMethod}"/>
<af:clientListener type="load" method="triggerOnLoad"/>
<af:resource type="javascript">
function triggerOnLoad(event)
{
AdfCustomEvent.queue(event.getSource(), "onloadEvent", {},false);
return true;
}
</af:resource>
該方法,然後使用自動進稿器狀態指示燈來顯示頁面上的狀態。
<af:panelStretchLayout id="psl1" startWidth="33%" endWidth="33%"
topHeight="33%" bottomHeight="33%">
<f:facet name="bottom"/>
<f:facet name="center">
<af:statusIndicator id="si1"/>
</f:facet>
<f:facet name="start">
<af:panelGroupLayout id="pgl2"/>
</f:facet>
<f:facet name="end">
<af:panelGroupLayout id="pgl3"/>
</f:facet>
<f:facet name="top">
<af:panelGroupLayout id="pgl4"/>
</f:facet>
</af:panelStretchLayout>
請參閱這篇博客來回詳情 Show status indicator for long running method calls - ADF
相關問題
- 1. 客戶端進度信息?
- 2. 三個信息的進度條
- 3. 在窗口中顯示進度信息
- 4. 如何獲取sendSynchronousRequest的進度信息?
- 5. Android的進度丟失率信息
- 6. 動態顯示進度信息
- 7. 如何顯示進度信息?
- 8. 顯示與信息進度條的Android
- 9. 信息進入
- 10. 經/緯度信息
- 11. 具有可讀多行消息/信息的CLI進度條
- 12. C++ - 進程信息
- 13. NODEJS進程信息
- 14. 谷歌溫度信息
- 15. 轉換此調度信息
- 16. 距離度量的信息
- 17. 進程的線程信息
- 18. Java WS Synchronize信息進程?
- 19. log4net進程ID信息
- 20. OpenBSD中的進程信息
- 21. EventLog.WriteEntry先進的信息
- 22. C#中的進程信息
- 23. 附近信息由緯度/經度
- 24. 利用緯度和經度信息
- 25. 進程和子進程信息(內存)
- 26. 清理自定義寫入進度信息
- 27. 使用AVAssetSessionExport不斷獲取進度信息
- 28. 將進度欄信息傳遞給視圖控制器
- 29. 如何從I.D.Manager下載進度信息到python?
- 30. 從該方法提供進度信息的首選方法?