我正在使用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。这可能吗?如果可能,如何做到这一点?
5条答案
按热度按时间3xiyfsfu1#
试试这个:
字符串
92vpleto2#
sparrow的解决方案对我不起作用,它只是呈现文本“redirect:/”
我可以通过将
HttpServletResponse httpResponse
添加到控制器方法头来使它工作。然后在代码中,将
httpResponse.sendRedirect("/");
添加到方法中。范例:
字符串
rdrgkggo3#
下面的解决方案对我来说很有效。getAllCategory()方法显示数据,并将数据添加到数据库中。使用return“redirect:categories”;,将重定向到getAllCategory()方法。
字符串
或者使用ajQuery也是可能的。
yquaqz184#
你应该从addData请求中返回一个http状态码3xx,并将redirct url放在响应中。
atmip9wb5#
示例如何重定向
1./ ->/swagger-ui/index. html
1./swagger ->/swagger-ui/index. html
字符串