Spring MVC:ModelAttribute方法保证在GET和POST方法之前运行?

时间:2014-06-02 05:25:55

标签: spring-mvc

我正在做一个Spring Web应用程序。我有一个控制器,有以下方法:

@RequestMapping(value="my", method = RequestMethod.GET)
public String get() {...}

@RequestMapping(value="my", method = RequestMethod.POST)
public String post() {...}

@ModelAttribute
public void mydata() {...}

此控制器用于在提交表单时显示表单并处理数据。

我的问题是:ModelAttribute方法是否保证在GET方法(在GET请求中)和POST方法(在POST请求中)之前运行?

问候并感谢!

1 个答案:

答案 0 :(得分:4)

以下摘自Spring 3的Spring documentation

  

@ModelAttribute注释方法在选择之前执行   @RequestMapping带注释的处理程序方法。他们有效   使用经常加载的特定属性预填充隐式模型   来自数据库。然后可以访问这样的属性   通过@ModelAttribute注释处理程序方法参数   选择的处理程序方法,可能应用绑定和验证   它。

当前的文档(针对Spring 4)是here并且表示几乎相同的事情

  

之前调用控制器中的@ModelAttribute方法   @RequestMapping方法,在同一个控制器中