是否有可能为Spring MVC的表单绑定某种类型的提示,以指示要用表单数据实例化和填充的类?
我有一些非常不寻常的要求尝试构建一个动态表单,它代表不同对象的集合。用户可以将选定类型的对象添加到此集合,然后使用表单元素设置该对象类型的属性。我可以弄清楚如何使用jQuery创建表单,但我不知道如何让Spring处理大量的POST数据,因为它不知道要提前绑定哪些类型。
答案 0 :(得分:3)
我能想到的一种方法是编写自己的自定义HandlerMethodArgumentResolver,它负责将请求转换为控制器方法的参数值。您应该能够创建一个自定义注释,指示Spring MVC,您的自定义处理程序方法参数解析器将解析特定的带注释的方法参数(比如@CustomType Object argument
)。
一旦调用进入处理程序解析器,您可以确定json请求应映射到的类型,并使用实际类型调用json映射器。
您可以这样注册自定义参数解析器:
<annotation-driven>
<argument-resolvers>
<beans:bean class="..CustomArgumentResolver"/>
</argument-resolvers>
</annotation-driven>