我使用的是Spring 2.0,现在我使用的是Spring 2.5,就Web控制器而言,Spring 2.5让生活变得非常轻松。这个问题一直在我脑海中浮现,在2.0中我们必须设置命令类,因此用于为我们填充该命令对象的AbstractFormController。在Spring 2.5中我们不这样做,所以如何知道要使用哪个类?它取决于我们注释@ModelAttribute(" command")的参数类型吗?

如果是,那么请让我知道任何“实用工具”。提供确切机制的类,其中我可以传递HttpRequest和类名(或类对象),这将返回我填充的对象!

希望你有我的问题。

提前致谢。

有帮助吗?

解决方案

Web MVC注释绑定最终依赖于

org.springframework.beans.AbstractPropertyAccessor

有两个具体的实现:

org.springframework.beans.BeanWrapperImpl org.springframework.beans.DirectFieldAccessor

两者都接受一个Java对象,它将成为设置属性的目标。

第一个,BeanWrapperImpl使用java对象的setter / getter方法,而另一个直接设置字段。 两者都检查方法/字段是公共/可访问的,如果不是,则使用反射的setAccessible(true)来确保它可以被设置。

在Web MVC中,创建了一个AbstractPropertyAccessor实例,并将HttpRequest的参数映射传递给AbstractPropertyAccessor #setPropertyValues。

调用之后,java对象将填充地图中的任何内容

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top