在Spring MVC-3中,当我们提交表单时,表单支持对象不会被移除。我认为在spring mvc中,它会在表单提交后删除烘焙对象。
我说的对吗?或者谁能解释一下这里可能发生了什么?
PS
<form:form id="id1" commandName="command1" modelAttribute="command1" method="post">
当我们执行提交时,绑定到表单的模型属性会在某个时候从会话中删除,不是吗?
我想知道的是命令对象被移除的位置。
发布于 2012-08-06 15:51:03
如果你能提供一些代码,那将会很有帮助。那里可能有个bug ..MVC实际上没有支持对象。您所能做的就是将对象放入模型映射中,并在每次请求后将其删除。当您执行表单post时,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标签..我不认为它会有太大的改变。尽管如此,如果没有任何代码,很难肯定地说出任何事情。
https://stackoverflow.com/questions/11824125
复制相似问题