繁体   English   中英

Spring MVC:如何使用表单将模型对象传递给控制器​​方法

[英]Spring MVC : How to pass model object to controller method with out using form

我有一个控制器类,我在其中添加一个对象模型,在视图上我可以访问它,现在我想将此对象发送回新的控制器方法,是否可以使用表单来完成它? 示例代码是:

在这里,我将“细节”添加到模型中。

@RequestMapping(...)
public ModelAndView method1() {
       .....
        mv.addObject("details", details);
         mv.setViewName(REVIEW_PAGE);
         return mv;
}

我在评论页面上有一个“确定”按钮,其中详细信息已经过审核。 现在我想将此“详细信息”对象发送回新的提交方法。 我想在同一个控制器类的第二个方法中访问详细信息对象。

我试图将其添加为模型属性(您可以在下面的代码中看到),但我在详细信息对象中获取空值。

@RequestMapping(....)
public ModelAndView method2(@ModelAttribute("details") Details details){
//access details object here        

}

流程如下:(在模型中添加详细信息(method1) - >发送到视图进行审核 - >确认(单击确定) - >发送回提交(方法2))

我是Spring MVC的新手,所以如果我的问题有错误,我很抱歉。

您可以通过在控制器上使用@SessionAttributes注释告诉Spring在服务器端保留模型的副本

@Controller
@SessionAttributes("details")
public class TheController {
}

这有一些警告。 默认的内置实现非常基本,例如,不会考虑跨标签使用相同会话的多标签浏览器。 它也没有自动清理。 完成数据后,必须手动调用session.setComplete()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM