Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc Spring MVC 3.1-模型属性丢失_Spring Mvc_Modelattribute - Fatal编程技术网

Spring mvc Spring MVC 3.1-模型属性丢失

Spring mvc Spring MVC 3.1-模型属性丢失,spring-mvc,modelattribute,Spring Mvc,Modelattribute,我有一个关于ModelAttributes范围的快速问题 Dev.Env:springmvc3.1/java6/JSP w/JSTL视图 在我的控制器中,我通过 model.addAttribute(“appForResubmission”, appForResubmission); 在JSP(响应GET请求提供)中,我将其内容解读为: ${appForResubmission.appId} -工作正常,数据按预期显示在JSP上 提交JSP后,在同一控制器中以不同的方法(响应PUT请求),

我有一个关于ModelAttributes范围的快速问题

Dev.Env:springmvc3.1/java6/JSP w/JSTL视图

在我的控制器中,我通过

model.addAttribute(“appForResubmission”, appForResubmission);
在JSP(响应GET请求提供)中,我将其内容解读为:

${appForResubmission.appId} 
-工作正常,数据按预期显示在JSP上

提交JSP后,在同一控制器中以不同的方法(响应PUT请求),我尝试从模型中读取属性以进行任何更改,我的操作如下所示

@ModelAttribute(“appForResubmission”) Application app
在方法签名中

然而,当我试图查询对象中的数据时,我得到的只是一个新的应用程序对象。Spring的文档说,当模型中不存在请求的属性时,就会发生新对象的这种实例化

什么会导致属性丢失?有什么想法吗?我怀疑这是某个地方的范围问题,但我不确定问题可能在哪里

非常感谢您提供的任何建议

谢谢,,
M.Reddy

模型属性的范围是
请求
,在内部它与
HttpSerletRequest.setAttribute(“模型”,模型)
等效


如果您希望模型在不同的控制器中可用,您可能有两种选择,一种是根据提交给控制器的内容或使用持久性源重新构建模型。第二个选项是使用
@SessionAttribute({'modelname'})
将特定的模型属性添加到会话中,但请注意,您必须稍后调用以删除添加到会话中的模型。

感谢您的响应。就我而言,我只使用一个控制器。我使用的两个方法被映射到相同的URL,除了一个方法响应GET,另一个响应POST。我在GET中添加了一个模型属性,然后在从JSP返回时(通过POST),我尝试检索相同的属性。是的,但是JSP中是否有字段来保存
应用程序
对象的所有字段,以及是否将所有这些字段提交回处理
PUT
的方法,如果没有,那么它们将在处理
PUT
的方法中不可用。。。。但并非所有字段都显示在JSP上。