【问题标题】:Backing Object not removed after Form submission in Spring Mvc在 Spring Mvc 中提交表单后未删除支持对象
【发布时间】:2012-08-06 07:29:26
【问题描述】:

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

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

PS

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

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

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

【问题讨论】:

    标签: spring spring-mvc


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-10-27
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多