在Spring Mvc中提交表单后,不会删除Backing Object

时间:2012-08-06 07:29:26

标签: spring spring-mvc

在Spring MVC-3中,当我们进行表单提交时,表单支持对象不会被删除。 我想在spring mvc中,它会在表单提交后删除烘焙对象。

我是否正确或任何人都可以解释这里可能发生的事情?

PS

<form:form id="id1" commandName="command1" modelAttribute="command1" method="post">

当我们进行提交时,分组到表单的模型属性会在会话的某个时刻被删除吗?

我想知道的是指向对象被移除的位置。

1 个答案:

答案 0 :(得分:0)

如果你能提供一些代码会很有帮助。可能是一个bug .. MVC实际上没有后备对象。您所能做的就是将对象放入模型映射中,并在每次请求后删除它们。当您执行表单发布时,Spring MVC所做的就是将表单输入映射到控制器中的对象:

形式:

<form action="/some-path" method="post">
    <input type="text" name="some_property"  />
    <input type="submit" value="Submit" />
</form>

控制器:

@RequestMapping(value="/some-path" method = RequestMethod.POST)   
public ModelAndView createItem(SomeObject someObject, BindingResult result) {
// ...
}

映射对象:

public class SomeObject {

    private String some_property;

    // getter, setter

}

如果您没有将对象声明为Bean(@Named@Component或其他内容)或将其添加到模型映射中:

ModelAndView mav = new ModelAndView();
mav.addObject("someObject,someObject);

然后当控制器完成时它就会消失。

修改 没有注意到jsp标签..不要认为它变化太大..但是,没有任何代码,很难说出任何肯定的东西。