我是構建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. 如何在Windows Phone 7中維護應用程序狀態?
- 2. 如何在刷新後維護應用程序的狀態,AngularJS?
- 3. web的含義是無狀態的,http是無狀態協議?
- 4. 如何在Silverlight中維護狀態?
- 5. 在SAP應用程序中維護Windows狀態
- 6. 在多視圖應用程序中維護狀態
- 7. 在iPhone應用程序中維護會話狀態
- 8. iOS 5維護應用程序中的變量和狀態?
- 9. 禁用狀態維護
- 10. 使用TabBarController維護狀態
- 11. 維持iPhone應用程序的狀態
- 12. 下次運行時維護ipad/iphone應用程序的狀態
- 13. 如何維護搜索portlet的狀態
- 14. 如何維護活動的狀態?
- 15. 如何維護複選框的狀態
- 16. 的Spring Web應用程序中顯示HTTP狀態404 -
- 17. 在IceFaces中維護狀態的問題
- 18. 我們如何維護Web服務中的狀態?
- 19. 維護私有狀態
- 20. 維護php對象狀態
- 21. 維護視圖狀態POST
- 22. 維護ListView項目狀態
- 23. Facebook,Flash和維護狀態
- 24. 維護視圖狀態android
- 25. 骨幹維護狀態
- 26. Spotify應用程序 - 頁面間維護狀態
- 27. 在AJAX應用程序中保持Web應用程序狀態
- 28. Java Servlets之間如何維護狀態?
- 29. 如何維護鼠標懸停狀態?
- 30. HTTP狀態500而不是HTTP狀態的JAX-RS響應400
也許你的意思是* HTTP *而不是* HTML *。 HTTP是通常用於「獲取」HTML的傳輸協議。 HTML只是一種標記語言。 – 2009-11-04 19:02:40
謝謝,現在更正 – Arvind 2009-11-04 19:22:03