我有一个关于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上。 –