1

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

我是正确的还是任何人都可以解释这里可能发生了什么?

附言

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

当我们进行提交时,绑定到表单的模型属性会在某个时间点从会话中删除,不是吗?

我想知道的是命令对象被删除的那一点。

4

1 回答 1

0

如果你能提供一些代码会很有帮助。那里可能是一个错误.. 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 标记.. 不要认为它有太大变化.. 不过,没有任何代码,很难说什么。

于 2012-08-06T07:51:02.547 回答