在Spring MVC中,formBackingObject和ModelAttribute是什么意思?

use*_*530 5 model-view-controller spring spring-mvc

我想我不明白Spring MVC中"FormBackingObject"和"ModelAttribute"之间的区别.

似乎两者都是由Spring发起并填充传入的请求.

ska*_*man 8

好问题.这归结为Spring 2.0 MVC(使用控制器类层次结构)和Spring 2.5 MVC(使用注释)之间的术语差异.

"表单支持对象"是Spring 2.0样式AbstractFormController(和子类SimpleFormController)用于将表单数据绑定到的对象.

@ModelAttribute 对于Spring 2.5风格的带注释的控制器,它做了很多相同的事情,但是方式不那么严格.

所以你说得对,两者做的几乎完全相同,但风格却完全不同.两者都是有效的方法,并且在Spring 2.5(和3.0)中都支持这两种方法.