我正在做一个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请求中)之前运行?
问候并感谢!
答案 0 :(得分:4)
以下摘自Spring 3的Spring documentation
@ModelAttribute注释方法在选择之前执行 @RequestMapping带注释的处理程序方法。他们有效 使用经常加载的特定属性预填充隐式模型 来自数据库。然后可以访问这样的属性 通过@ModelAttribute注释处理程序方法参数 选择的处理程序方法,可能应用绑定和验证 它。
当前的文档(针对Spring 4)是here并且表示几乎相同的事情
之前调用控制器中的@ModelAttribute方法 @RequestMapping方法,在同一个控制器中