Spring-提交表单后如何刷新页面?

时间:2019-01-21 17:55:18

标签: spring spring-boot

使用spring boot,我有一个时间表页面。

enter image description here

您可以单击一个正方形,这会打开一个小表格,您可以用它在时间表中添加或删除班级对象(保存在数据库中)。

我的问题是,当您单击“添加”(或删除)时,尽管它成功地从时间表中添加/删除了该对象,但您必须刷新页面才能看到在时间表上添加/删除了该类。从用户的角度单击添加时,似乎没有任何反应(直到他们手动刷新页面)。

post方法重定向回到时间表页面get。我尝试将其重定向到另一个mini get方法,然后将其重定向回原始时间表页面。但从浏览器的角度来看,它似乎仍然没有发生任何事情-只是停留在原来的问题所在的同一页上。很想听听可能的解决方案,谢谢!

编辑:这是我的get和post方法的示例:

@GetMapping("/timetable/{id}/{semId}")//This method displays timetable.
public String timetable(@PathVariable(value = "id") String id, Model model,
        @PathVariable(value = "semId") String semId) {

//code..
    model.addAttribute("x", x);

    return "timetable";

}

@PostMapping("/timetable/{id}/{semId}")
    public String timetablePost(@ModelAttribute TimetableClassDto dto, @PathVariable(value = "id") String id,
            Model model, @PathVariable(value = "semId") String semId) {
//code..

    return "redirect://timetable/00/" + semId;

}

1 个答案:

答案 0 :(得分:1)

您应该在重定向中有两个//吗?我的代码中有类似内容,并且工作正常。但是,我先创建一个URL,然后返回它。另外,请确保您的get映射根据从重定向获取的新参数正确填充对象。 使用以下内容:

                       ??
String url = "redirect://timetable/00/" + semId;

return url;