(使用JEE6)是否有可能有一個網頁自動地從一個bean /類中更新(或聽)價值觀和對JSF顯示出來,當這些變化發生的呢?有沒有辦法在bean值發生變化時讓JSF頁面自動更新網頁?
回答
正如KayKay提到你可以使用JavaScript來定期詢問服務器是否有任何更新發送實施某種形式的投票方法的。除非你使用ajax,否則只能完成整個頁面刷新。
JSF一樣好,因爲它是坐落在基本無狀態的Web技術之上。除非您使用Ajax或某些自定義代碼,否則服務器將只響應來自客戶端的請求。像ICEfaces的一些圖書館已經將「推」組件,讓你在找什麼(從我的理解,這是icefaxes的基本組成部分)。也就是說,將服務器端更改推送到客戶端。
你必須建立一個監聽器上您的最終以便當值改變發生在服務器上(如在支撐bean是在服務器上),你的bean將得到通知。當變化發生你可以問說,「ICEfaces的推」(或類似primefaces,你表示你不希望使用另一個庫)的通知發送到客戶端。客戶端代碼(通常是ajax/javascript)將處理通知,然後根據正常請求響應發送整個對象的請求。這是通知告訴客戶它有興趣更改的內容,因此客戶可以要求更新。除通知外,仍然要求/迴應。
我提到ICEfaces的推動,因爲它似乎是這樣做的青睞庫現在。但其他人也有這個。我不相信標準的JSF 2.0 AJAX庫有這個。
這裏是看一對夫婦的資源在:
(視頻是一個良好的開端讓正在發生的事情的想法,然後使用該網站的其餘部分) http://www.icesoft.org/demos/icepush-demos.jsf
舊但我覺得還是你想做的事,使用庫存的變化作爲一個例子什麼有關IBM教程:
http://www.ibm.com/developerworks/web/library/wa-aj-dynamic/index.html
和相關的另一組問題:
Is there a better Ajax Push for JSF 2.0 than Icefaces
不幸的是,它看起來就像你不能做到這一點只用JSF,你將不得不使用這些庫中的一個或更難,推出自己的推送機制。
我不知道一個JSF功能來做到這一點。我只想做一些JavaScript輪詢,例如使用jquery load method刷新其中顯示的值頁面的部分。
這將有助於瞭解你想要做什麼:刷新整個頁面時有變化,更新薩姆說從一開始就顯示出來,或添加新值頁值。
- 1. 更新JSF頁面當XYZ變量在Session Sessiond Bean中發生變化時
- 2. JSF - 從xhtml更新Bean變量頁面
- 3. 有沒有辦法讓網頁自動播放「多個」mp3?
- 4. 灰燼,#如果item.value內#each,當值發生變化時,頁面沒有更新
- 5. 有沒有辦法在發送頁面時更改頁面的URL?
- 6. 使用p5js時,有沒有辦法更新頁面?
- 7. 有沒有辦法讓git diff顯示的行發生變化?
- 8. 有沒有辦法讓一個asp.net頁面來自XSLT轉換?
- 9. 有沒有辦法讓iframe不能重新加載頁面?
- 10. 當數據發生變化時自動刷新jsp頁面
- 11. JSF託管的bean沒有出現在JSF頁面中
- 12. 有沒有辦法讓git pull自動更新子模塊?
- 13. 有沒有辦法讓Chrome Canary自動更新?
- 14. Javascript var在更新頁面時發生變化
- 15. 有沒有辦法阻止TinyMCE自動關注頁面加載?
- 16. 有沒有辦法讓thinkbot/high_voltage gem使用的所有頁面?
- 17. PDFsharp:有沒有辦法在頁面的標題中生成「Y的頁面X」?
- 18. 有沒有辦法讓Chrome/Firefox中發生的錯誤發生在整個網頁
- 19. 有沒有辦法爲沒有實際支持頁面的URL提供網頁?
- 20. 有沒有辦法讓iPad在旋轉後重新呈現網頁?
- 21. 有沒有辦法讓一個頁面的所有CSS樣式變得沉默?
- 22. 有沒有辦法讓網頁以100%的寬度截斷?
- 23. 沒有刷新頁面,更改值
- 24. tabcontrol頁面沒有更新
- 25. ActionCable沒有更新頁面
- 26. JSF bean不在xhtml頁面顯示值
- 27. 有沒有辦法讓頁面標籤默認展開?
- 28. 有沒有辦法讓github頁面支持org-mode?
- 29. 有沒有辦法爲JSF/AJAX中的異常動態配置錯誤頁面?
- 30. 如何在方法bean執行時重新繪製JSF頁面?
你能指出這方面的一些很好的例子(沒有primefaces) – stackoverflow 2012-08-03 18:14:57
對不起,我沒有任何。但我編輯了我的答案,試圖澄清我的意思。 – kgautron 2012-08-03 18:29:55
@stackoverflow如果你不能/不想添加外部庫像PrimeFaces或具有輪詢控制器RichFaces的,那麼你應該使用jQuery的方法服務器時間輪詢時間。 – 2012-08-03 19:34:23