如何删除spring mvc中的会话属性

时间:2016-11-30 09:10:45

标签: java spring spring-mvc

我正在尝试部署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")

请告知。

2 个答案:

答案 0 :(得分:4)

查看SessionStatus助手类。

来自docs

  一旦处理程序指示其会话会话完成,

...属性将被删除。

@RequestMapping("/save")
public String save(@ModelAttribute Resource resource, SessionStatus status) {
    status.setComplete();
}

答案 1 :(得分:1)

使用 session.removeAttribute(“ATTR_NAME”)





请参阅此处
 http://docs.oracle.com/javaee/5/ API /的javax / servlet的/ HTTP / HttpSession.html的removeAttribute#(java.lang.String中)