Spring Boot-重定向到其他控制器方法

发布于 2021-02-02 11:40:14

我是Spring Boot的新手。我正在用SpringBoot和Thymeleaf创建一个非常基本的应用程序。在控制器中,我有2种方法,如下所示:

方法1-此方法显示数据库中的所有数据:

  @RequestMapping("/showData")
public String showData(Model model)
{
    model.addAttribute("Data", dataRepo.findAll());
    return "show_data";
}

方法2-此方法将数据添加到数据库:

@RequestMapping(value = "/addData", method = RequestMethod.POST)
public String addData(@Valid Data data, BindingResult bindingResult, Model model) {
    if (bindingResult.hasErrors()) {
        return "add_data";
    }
    model.addAttribute("data", data);
    investmentTypeRepo.save(data);

    return "add_data.html";
}

存在与这些方法相对应的HTML文件,即show_data.html和add_data.html。

一旦addData方法完成,我想显示数据库中的所有数据。但是,以上将代码重定向到静态add_data.html页面,并且不会显示新添加的数据。我需要以某种方式在控制器上调用showData方法,因此需要将用户重定向到/
showData URL。这可能吗?如果是这样,该怎么办?

提前致谢。

关注者
0
被浏览
153
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    尝试这个:

    @RequestMapping(value = "/addData", method = RequestMethod.POST)
    public String addData(@Valid Data data, BindingResult bindingResult, Model model) {
    
        //your code
    
        return "redirect:/showData";
    }
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看