什麼是最好的非骨架(僅JSP/Servlet的)的方式來創建這樣的形式,它可以:預填充,並重新顯示HTML表單
- 預填充從數據庫加載默認值/數據
- 重新顯示未能驗證的提交值
看起來相當直接的做一個或另一個,但創建一個同時支持這兩個表單是棘手的。
例如使用
${param.scheduledDate}
重新顯示驗證失敗的日期的偉大工程,但不能很容易地在頁面加載編程設置。相反地,
${myBean.scheduledDate}
工作很大,用於顯示從數據庫加載的值,但由於bean使用類型日期,而不是串的對象不能重新顯示驗證失敗的數據。
有幾件事情浮現在腦海中,但非似乎真的那麼好:
- 使用中間豆與只是字符串
- 使用Servlet過濾器設置在頁面加載參數
這可能工作,但它似乎會有一些限制,如你只能使用一個請求範圍的bean和bean屬性不能爲空/空。 – Ryan
+1用於提示MVC框架。 – Marvo
@Ryan:爲什麼你想使用會話作用域bean來請求作用域數據?當相同表單顯示在同一個會話中的多個瀏覽器窗口/標籤上時,它只會導致不直觀的網站行爲(以及糟糕的用戶體驗)。你不想那樣做。僅將會話範圍用於實際會話範圍的數據,例如登錄用戶,其首選項,區域設置等。JSF順便提供了「查看範圍」以滿足您的目的(具有瀏覽器窗口/特定於選項卡的範圍) 。另見[this](http://balusc.blogspot.com/2011/09/communication-in-jsf-20.html#ManagedBeanScopes)。 – BalusC