我正在用jsf處理一個web應用程序,我對此很新。
用戶填寫和發送表單。服務器在後臺bean中接收表單,它執行所需的操作並重定向到不同的頁面。
問題在於,當用戶點擊瀏覽器的後退按鈕時,它會回到表單中填入用戶所引入數據的所有字段。我需要清理那張表格。
我試過在頁面加載時對字段進行手動清理,並且它不起作用,表單會重新填充以前的數據。
這個問題的任何幫助?
在此先感謝。JSF:當用戶點擊瀏覽器的歷史記錄時,如何避免表單填充數據?
0
A
回答
0
可能存在兩個問題:
你的瀏覽器中的值是出於禮貌罷了,禁用使用cache control或使用omnifaces' CacheControlFilter,你只是可以通過
web.xml
啓用。另請參閱how to do autocomplete="off" at form level in JSF以防止瀏覽器的自動填充功能填寫以前的值。保存這些值的服務器端代碼仍然存在。您沒有提及您使用的範圍,但請記住,@ViewScoped beans,基本上存儲在會話中的所有內容在導航時不一定會被破壞。如果是這樣,他們自動銷燬你無法管理你的bean的生命週期,你需要重新設置形式重定向前值自己:
@ManagedBean @SessionScoped public class TestBean implements Serializable { private String myString; public String saveIt() { doStuffWithString(); myString = ""; return "saved"; } }
相關問題
- 1. 如何避免包括瀏覽歷史
- 2. 如何避免在提交時向瀏覽器歷史記錄添加URL
- 3. 單擊按鈕時避免瀏覽器自動填充表單功能
- 4. 如何用Nightwatch瀏覽歷史記錄?
- 5. 如何避免將特定元素添加到瀏覽器歷史記錄中?
- 6. 當用戶點擊瀏覽器的「刷新」按鈕時如何避免重複?
- 7. 當用戶點擊瀏覽器的「刷新」按鈕時如何避免重複?
- 8. 如何使用歷史記錄類來處理瀏覽器歷史記錄
- 9. 當使用點擊事件時骨幹歷史記錄沒有填充
- 10. javascript中的瀏覽器歷史記錄
- 11. Grails的瀏覽器歷史記錄?
- 12. ExtJS MVC的瀏覽器歷史記錄
- 13. 創建瀏覽歷史記錄菜單
- 14. 瀏覽器歷史記錄或CSS
- 15. Phonegap Cordova瀏覽器歷史記錄
- 16. 瀏覽器歷史記錄管理
- 17. 讀取瀏覽器歷史記錄
- 18. 刪除瀏覽器歷史記錄
- 19. smartgwt瀏覽器歷史記錄
- 20. Ajax +瀏覽器歷史記錄
- 21. pushState加擾瀏覽器歷史記錄
- 22. JQuery simplePagination.js瀏覽器歷史記錄
- 23. 清除瀏覽器歷史記錄
- 24. Android瀏覽器歷史記錄URI?
- 25. 清除Android瀏覽器歷史記錄
- 26. 清除CefGlue瀏覽器歷史記錄
- 27. Angular2瀏覽器歷史記錄導航
- 28. 使用YUI瀏覽器歷史記錄的Ajax和瀏覽器歷史記錄類
- 29. 用戶瀏覽網站歷史數據
- 30. 找出在瀏覽器歷史記錄用戶
謝謝您的回答。 2.是的,它是會話範圍的,但是對象在Java代碼中被置爲null,所以這不是問題。我已經在會話中調試了代碼,並且在執行操作之後,對象爲空,但是當返回瀏覽器時,它會再次填充。所以我現在要去嘗試檢查緩存控制。我也試圖做一個重置(表單),但我有問題來控制它只能執行一次。我也嘗試了autocomplete = off,但這不是我的問題的解決方案。再次感謝 – user3207908
@ user3207908不客氣。如果它解決了您的問題,請確保您[將答案標記爲已接受](http://meta.stackexchange.com/a/5235)。 – mabi
我試過禁用緩存,它的工作原理,所以這是一個很好的方法來解決我的問題,但最終當客戶告訴這個問題最終接受了一個不同的解決方案,不讓用戶回到表單頁面(使一個window.history.forward(1))。這不完全是它所要求的,但它填補了消費者的必要性。再次感謝。 – user3207908