Java SpringMVC3:定义自己的数据类型绑定
在spring3控制器中,我可以创建一个包含多个参数的动作方法,这些参数将由spring设置Java SpringMVC3:定义自己的数据类型绑定,java,spring-mvc,Java,Spring Mvc,在spring3控制器中,我可以创建一个包含多个参数的动作方法,这些参数将由spring设置 @RequestMapping(value="/updateTemplate") public void doStuff(HttpServletRequest request, Locale locale) { assert request != null; assert locale != null; } 如何教Spring填充自己定义的数据类型 @RequestMapping(va
@RequestMapping(value="/updateTemplate")
public void doStuff(HttpServletRequest request, Locale locale) {
assert request != null;
assert locale != null;
}
如何教Spring填充自己定义的数据类型
@RequestMapping(value="/updateTemplate")
public void doStuff(HttpServletRequest request, Locale locale, MyClass myClass) {
assert myClass != null;
}
Spring有一个名为的类,它将为您完成此任务。它将接收传入的HttpServletRequest
的各种成员,并使用它们创建一个对象,然后将该对象传递给控制器
方法。最好的部分是,如果将HttpMessageConverter
添加到ApplicationContext
(通过annotationmethodhandleadapter
,如上所述),它将自动为您执行此操作
已经存在许多预构建的实现,您可以在上面链接的HttpMessageConverter
页面上找到许多预构建的实现。可能最有用的是,用于将JSONObject从请求体映射到JavaBean,以及用于将XML从请求体映射到JavaBean
并将其注册到springmvc:
<mvc:annotation-driven >
<mvc:argument-resolvers>
<bean class="com.xxx.MyClassWebArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>
这并不完全是你想要的,但朝着你可能想要的方向迈出的一步似乎不是我要搜索的东西,WebArgumentResolver是正确的提示
<mvc:annotation-driven >
<mvc:argument-resolvers>
<bean class="com.xxx.MyClassWebArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>
@RequestMapping(value="/updateTemplate")
public void doStuff(HttpServletRequest request, Locale locale, MyClass myClass) {
assert myClass != null;
}