控制器之间丢失对象数据

时间:2012-11-27 12:09:30

标签: spring model-view-controller modelattribute

我在控制器之间传输对象(作为modelAttribute)及其值的形式存在问题。我有一个modelAttribute的表单,比如"myObject",其中有一些成员。我在第一个控制器中为模型添加了modelAttribute "myObject"

我能够在视图中读取和显示"myObject"值的值,例如,我可以通过${myObject.memberName}获取值,但是当涉及到作为参数的第二个控制器时object(我的意思是:modelAttribute("myObject") MyObject myObject)成员被设置为默认值,主要是null!

在表单中设置了一些值(它们工作正常),其余的值在第一个控制器中设置。我想在第二个控制器中设置值,但它们会丢失。

我应该如何传输modelAttribute对象的值,以免在控制器之间丢失它们?我应该将它们放在HttpRequest paratemers中吗?

1 个答案:

答案 0 :(得分:0)

HTTP是无状态协议。因此,您可以预期参数不会在请求之间徘徊。

  

我应该将它们放在HttpRequest paratemers中吗?

是的,如果您希望控制器可以使用这些值来处理下一个请求,您需要将这些值作为请求的一部分传递/将它们发布到某些表单数据中。

如果您希望数据可用于许多请求,您可以考虑将模型放入HttpSession。