我有一個關於ModelAttributes範圍的快速問題。Spring MVC 3.1 - 模型屬性丟失
Dev。 ENV:Spring MVC的3.1/Java的6/JSP W/JSTL的意見
在我的控制,我通過
model.addAttribute(「appForResubmission」, appForResubmission);
添加到模型的屬性在JSP(響應擔任了GET請求)我讀它的內容爲:
${appForResubmission.appId}
- 工作正常,數據顯示在JSP預期。
一旦提交JSP的,在不同的方法中的相同的控制器(響應於PUT請求),我嘗試讀取來自模型的屬性的任何變化和我這樣做如
@ModelAttribute(「appForResubmission」) Application app
方法簽名中的
。
但是,當我嘗試詢問數據對象時,我得到的全部是一個新的Application對象。 Spring的文檔說,當請求的屬性不存在於模型中時,會發生這種新對象的實例化。
什麼會導致屬性丟失?有任何想法嗎?我懷疑這是一個範圍問題,但我不確定問題出在哪裏。
任何你可以提供的指針非常感謝?
謝謝 M.雷迪
謝謝你的迴應。在我的情況下,我只使用一個控制器。我正在使用的兩種方法被映射到相同的URL,除了一種方法響應GET,另一種方法響應POST。我在GET中添加模型屬性,然後從JSP返回(通過POST),我試圖檢索相同的屬性。 –
是的,但是你有JSP中的字段來保存'Application'對象的所有字段,並且你將所有這些字段提交回處理'PUT'的方法,否則它們將不可用處理'PUT'的方法。 –
是的,我有JSP中的字段... 。不是所有的字段都顯示在JSP上。 –