JavaSpringMVC3:定义自己的DatatypeBinding
在spring3控制器中,我可以创建一个包含多个参数的动作方法,这些参数将由spring设置
@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;
}
# 1 楼答案
你应该使用WebArgumentResolver
并将其注册到springmvc:
然后你可以在你的控制器中使用它
# 2 楼答案
Spring有一个名为^{} 的类,它将为您实现这一点。它将获取传入
HttpServletRequest
的各种成员,并使用它们创建一个对象,然后将该对象传递给Controller
方法。最好的部分是,如果将HttpMessageConverter
添加到ApplicationContext
中(通过AnnotationMethodHandlerAdapter
,如here所述),它将自动为您执行此操作已经存在许多预构建的实现,您可以在上面链接的} ,用于将JSONObject从请求体映射到JavaBean;以及^{} ,用于将XML从请求体映射到JavaBean
HttpMessageConverter
页面上找到很多。最有用的可能是^{