如何从 HandlerInterceptorAdapter 检索 modelAttribute
How to retrieve a modelAttribute from HandlerInterceptorAdapter
我有一个 class 扩展 HandlerInterceptorAdapter
:
public class AreaRiservataInterceptorAdapter extends HandlerInterceptorAdapter {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
{}
}
我需要它,因为我必须 "edit" 对象 Utente,您可以将其视为此控制器中的参数;使用 HandlerInterceptorAdapter
我在将请求发送到此控制器之前拦截请求
@Controller
public class AreaRiservata{
@RequestMapping("/prv/areaRiservataPost")
public String areaRiservataPost(Model model, Utente utente){}
}
正如我之前所说,我必须 "edit" 扩展 HandlerInterceptorAdapter
的 class 的方法 preHandle
中的对象 Utente
。
我不明白在哪里可以检索对象 Utente
。
从要求?表格 Object handler
?
在方法postHandle
中很容易做到,因为我可以从参数ModelAndView
中得到它,但我不知道如何在preHandle
中做到。
谢谢
#preHandle
方法将在参数 Utente
被解组并传递给 #areaRiservataPost
.
之前被调用
see spring-webmvc-3.2.8.RELEASE-sources.jar!/org/springframework/web/servlet/DispatcherServlet.java:919
and org.springframework.web.method.support.InvocableHandlerMethod#getMethodArgumentValues
因此,您不能影响尚未创建的对象。但是,您可以从请求中获取数据:
Scanner s = new Scanner(request.getInputStream(), "UTF-8").useDelimiter("\A");
s.hasNext() ? s.next() : "";
解组,然后将对象 Utente
放入 request
中,然后在 #areaRiservataPost
中检索并使用该对象
我有一个 class 扩展 HandlerInterceptorAdapter
:
public class AreaRiservataInterceptorAdapter extends HandlerInterceptorAdapter {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
{}
}
我需要它,因为我必须 "edit" 对象 Utente,您可以将其视为此控制器中的参数;使用 HandlerInterceptorAdapter
我在将请求发送到此控制器之前拦截请求
@Controller
public class AreaRiservata{
@RequestMapping("/prv/areaRiservataPost")
public String areaRiservataPost(Model model, Utente utente){}
}
正如我之前所说,我必须 "edit" 扩展 HandlerInterceptorAdapter
的 class 的方法 preHandle
中的对象 Utente
。
我不明白在哪里可以检索对象 Utente
。
从要求?表格 Object handler
?
在方法postHandle
中很容易做到,因为我可以从参数ModelAndView
中得到它,但我不知道如何在preHandle
中做到。
谢谢
#preHandle
方法将在参数 Utente
被解组并传递给 #areaRiservataPost
.
see spring-webmvc-3.2.8.RELEASE-sources.jar!/org/springframework/web/servlet/DispatcherServlet.java:919
and org.springframework.web.method.support.InvocableHandlerMethod#getMethodArgumentValues
因此,您不能影响尚未创建的对象。但是,您可以从请求中获取数据:
Scanner s = new Scanner(request.getInputStream(), "UTF-8").useDelimiter("\A");
s.hasNext() ? s.next() : "";
解组,然后将对象 Utente
放入 request
中,然后在 #areaRiservataPost