0

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

在这里,我正在为模型添加“细节”。

@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        

}

流程是这样的:(在模型中添加详细信息(方法1)->发送查看以供审核->确认(单击确定)->发送回提交(方法2))

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

4

1 回答 1

2

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

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

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

于 2013-01-25T06:53:35.323 回答