【发布时间】:2021-04-12 20:57:31
【问题描述】:
我在stackoverflow上碰到一个answer关于spring MVC上@ModelAttribute的用法,得知它实际上不需要添加到方法的参数中。
我从我们的旧项目中寻找了一些控制器,删除了注释,令人惊讶的是,没有@ModelAttribute,应用程序仍然可以完美运行。请看下面的例子:
@RequestMapping(method = RequestMethod.POST, value = "/audit/filter")
public String getAuditLogsWithFilter(Model model, AuditLogFilter auditLogFilter, BindingResult bindingResult)
我已经阅读了一些关于它的文章,但我无法理解为什么@ModelAttribute 用于某些方法参数,特别是对于弹簧控制器。
谁能提供一个简单的解释来解释为什么会这样?或者有人可以列举一些我应该将@ModelAttribute 注释添加到我的参数对象的情况吗?
【问题讨论】:
标签: java spring spring-boot spring-mvc thymeleaf