我正在尝试部署Spring mvc应用程序。我有一个由用户填写的向导形式,我通过利用会话保留每个表单的内容,直到最后一页,然后用户确认并保存内容。然后控制器重定向到另一个页面。但是这里我有一个包含所有以前会话属性的表单,所有表单都以表单形式呈现。我的问题是有什么方法可以在重定向到另一个页面之前从控制器中删除所有会话属性 评论页面控制器:
@RequestMapping("/review")
public String review(@ModelAttribute Resource resource){
// do somthing
return "course_review";
}
并保存课程控制器
@RequestMapping("/save")
public String save(@ModelAttribute Resource resource) {
// do somthing
return "redirect:/course/add";
}
并将contoler重定向保存到由{/ p>控制的/course/add
@RequestMapping("/add")
public String add(Model model) {
//do somthing
return "course_add";
}
Controller类使用
注释@Controller
@RequestMapping("/course")
@SessionAttributes("course")
请告知。
答案 0 :(得分:4)
查看SessionStatus
助手类。
来自docs
一旦处理程序指示其会话会话完成,...属性将被删除。
@RequestMapping("/save")
public String save(@ModelAttribute Resource resource, SessionStatus status) {
status.setComplete();
}
答案 1 :(得分:1)
使用 session.removeAttribute(“ATTR_NAME”)