SpringMVC从之前的调用中获取Model

时间:2017-11-06 16:27:10

标签: spring-mvc model thymeleaf

我的设置非常简单。 我有一个控制器,带有get-和postmethod。 getmethod填充一个模型,然后用于呈现HTML表单的百万美元模板。

当用户点击提交时,formdata将发布到postmethod。然后,此方法执行一些可能有两个结果的businesslogic。

首先可能:一切运作良好,并且重定向到getmethod。

第二种可能性:发生异常。在这种情况下,用户应被呈现他提交的包含他试图提交的数据的相同表格。因此,在这种情况下,我的postmethod返回与getmethod相同的模板的标识字符串。但百里香告诉我,模型缺乏一些属性。 为什么spring不会在用于渲染getmethod模板的postmethod中注入相同的模型。

有什么方法可以从postmethod的getcall中回收模型吗?

1 个答案:

答案 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";
  }