requestMappingHandlerMapping.registerMapping(requestMappingInfo, this, GenericController.class.getDeclaredMethod("handleRequests", UserData.class,
HttpSession.class, Locale.class, HttpServletRequest.class, Model.class));
其中
public void handleRequests(@ModelAttribute("userData") final UserData userData, final HttpSession session, final Locale local,
final HttpServletRequest request, final Model model) throws Exception {
是否可以支持@ModelAttribute注入?
答案 0 :(得分:0)
您为什么要在HandlerMethodArgumentResolver
中使用RequestMappingHandlerMapping
? HandlerMapping
与定义请求和处理程序对象之间的映射有关,而不是实际解析处理程序方法参数。这就是HandlerAdapter
的目的。
DispatcherServlet
默认提供RequestMappingHandlerAdapter
,其中ModelAttributeMethodProcessor
作为HandlerMethodArgumentResolvers
之一;这是实际解析@ModelAttribute
-带注释的参数的类。
使用RequestMappingHandlerAdapter
。为什么?
@ModelAttribute
参数HandlerAdapter
及其默认值HandlerMethodArgumentResolver
来解析方法中的其他参数(HttpSession
,Locale
,{{ 1}},...)