1
如何顯示服務器在Facelet上的進度? 我需要寫一個Servlet?或者是否可以通過ApplicationScoped
Beans?JSF進度條 - 服務器端進程
我想以Ajax方式更新指標(進度條)。
如何顯示服務器在Facelet上的進度? 我需要寫一個Servlet?或者是否可以通過ApplicationScoped
Beans?JSF進度條 - 服務器端進程
我想以Ajax方式更新指標(進度條)。
這取決於你想展示哪些東西的進展。基本上,您在Facelet上放置了一個進度條組件(例如http://www.primefaces.org/showcase/ui/progressBar.jsf),並將值綁定到能夠提供進度信息的bean。
如何獲得上述進展完全是另一個問題,並且超出了JSF的直接領域。例如,如果後臺進程是Quartz作業,那麼每當進度條發送輪詢請求時,bean可能會記住它的作業ID並使用Quartz調度程序查找它。 Quartz作業內部運行的代碼需要計算它在整個過程中的距離。
使用Servlet 3.0和CDI的事件總線,也可以利用反向AJAX /慧星,讓進度條等待更新事件,而不是讓進度條進行輪詢。在這種情況下,您的背景工作將不得不定期發佈更新事件。這樣會更有效率,但仍然相對較新,並且始終不支持。
我已經完成了這個過程,我可以得到它的進展價值,所以我認爲第一個解決方案對我來說已經足夠了,但第二個解決方案也非常好,我可能會在某一天嘗試它。 – ehsun7b 2011-01-09 13:52:36