我的设置非常简单。 我有一个控制器,带有get-和postmethod。 getmethod填充一个模型,然后用于呈现HTML表单的百万美元模板。
当用户点击提交时,formdata将发布到postmethod。然后,此方法执行一些可能有两个结果的businesslogic。
首先可能:一切运作良好,并且重定向到getmethod。
第二种可能性:发生异常。在这种情况下,用户应被呈现他提交的包含他试图提交的数据的相同表格。因此,在这种情况下,我的postmethod返回与getmethod相同的模板的标识字符串。但百里香告诉我,模型缺乏一些属性。 为什么spring不会在用于渲染getmethod模板的postmethod中注入相同的模型。
有什么方法可以从postmethod的getcall中回收模型吗?
答案 0 :(得分:1)
我通常使用RedirectAttributes
在post方法后重定向。它用于即使在重定向中也可以向模型添加数据。
这是如何使用它的一个例子:
@PostMapping("/course")
public String addCourse(@RequestParam("course") Course course, RedirectAttributes redirectAttributes) {
// show a popup that the `account.name` has been added
redirectAttrs
.addAttribute("course", course)
.addFlashAttribute("message", "Course created!");
return "redirect:/courseOverview";
}