我是構建Web應用程序的新手,剛剛開始學習和設置Grails。我打算建立一個流程爲4到5頁的應用程序。由於HTTP是無狀態協議,頁面之間的狀態通常是如何維護的。我很好奇這裏公認的標準是什麼,我應該創建會話範圍對象並在頁面之間使用它們,或者不斷傳遞頁面之間的值(如果頁面上有大量項目,不確定它是否有效)。或者,而不是使用4到5頁,我應該只使用一個頁面與多個div和基於用戶點擊顯示/隱藏? 我認爲在Grails中使用域對象在這裏會有所幫助,但是我沒有支持UI的數據庫,只有一些web服務會執行UI操作,所以我不能使用域對象。 一個Grails特定的解決方案會很好,但也想知道如何在Web開發中處理這個問題。如何在Web應用程序中維護狀態 - 因爲HTTP是無狀態的
2
A
回答
7
,不使用數據庫,有幾個選項可以使用:
- 使用POST/GET變量從頁面傳遞信息頁面。
- 使用會話存儲信息。
- 使用cookie存儲信息。
如果您只有一個頁面與另一個頁面「交談」(例如,提交表單),則使用POST/GET通常是最好的。如果你有一堆數據將被多個頁面共享,那麼最好的辦法是將它們放在會話中。如果您需要這些值在用戶離開您的網站並稍後再回來後繼續使用,那麼您可能需要使用Cookie。
+0
是的禮儀我不想用DB來存儲中間的東西。我有第一頁上的50個字段需要在內存中,直到我從第4頁提交。所以我想我應該使用會話存儲。我將檢查Grails如何支持這一點。 – Arvind 2009-11-04 18:01:20
1
您可能想在Grails中查看WebFlow(Spring WebFlow)。我發現它有助於像嚮導或購物車那樣的應用程序,在這些應用程序中,您想要保存一組頁面之間的數據(即:頁面1,頁面2 ...頁面4),然後在最後將數據提交到某處等等
相關問題
- 1. 如何在應用程序中維護片段的狀態
- 2. 如何在backbone.js中維護應用程序狀態?
- 3. 如何在Windows Phone 7中維護應用程序狀態?
- 4. Http Get - 如何維護狀態?
- 5. 如何在刷新後維護應用程序的狀態,AngularJS?
- 6. web的含義是無狀態的,http是無狀態協議?
- 7. 無狀態會話Bean中的實例變量 - 狀態是如何維護的?
- 8. 如何維護PHP會話狀態與其他應用程序
- 9. 如何在Silverlight中維護狀態?
- 10. 在多視圖應用程序中維護狀態
- 11. 在iPhone應用程序中維護會話狀態
- 12. 在Android中維護應用程序狀態
- 13. 在SAP應用程序中維護Windows狀態
- 14. 在彈簧應用程序中維護狀態?
- 15. iOS 5維護應用程序中的變量和狀態?
- 16. javaEE web應用程序中的狀態
- 17. 禁用狀態維護
- 18. 使用TabBarController維護狀態
- 19. 維持iPhone應用程序的狀態
- 20. 維護狀態的管道
- 21. void *用於維護狀態...(C編程)
- 22. 下次運行時維護ipad/iphone應用程序的狀態
- 23. 如何維護複選框的狀態
- 24. 如何維護搜索portlet的狀態
- 25. 如何維護活動的狀態?
- 26. 如何維護環形應用程序中不同用戶會話的狀態
- 27. 的Spring Web應用程序中顯示HTTP狀態404 -
- 28. 在MVC3中維護dropdownlist的狀態
- 29. 在IceFaces中維護狀態的問題
- 30. 如何維護同一域中的ASP.NET MVC4應用程序之間的狀態?
也許你的意思是* HTTP *而不是* HTML *。 HTTP是通常用於「獲取」HTML的傳輸協議。 HTML只是一種標記語言。 – 2009-11-04 19:02:40
謝謝,現在更正 – Arvind 2009-11-04 19:22:03