gpt4 book ai didi

java - 如何从 HandlerInterceptorAdapter 检索 modelAttribute

转载 作者:行者123 更新时间:2023-12-01 10:25:43 33 4
gpt4 key购买 nike

我有一个扩展HandlerInterceptorAdapter的类:

public class AreaRiservataInterceptorAdapter extends HandlerInterceptorAdapter {        
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
{}
}

我需要它,因为我必须“编辑”对象Utente,您可以在此 Controller 中将其视为参数;使用 HandlerInterceptorAdapter 在将请求发送到此 Controller 之前拦截请求

    @Controller
public class AreaRiservata{
@RequestMapping("/prv/areaRiservataPost")
public String areaRiservataPost(Model model, Utente utente){}
}

正如我之前所说,我必须在扩展 HandlerInterceptorAdapter 的类的 preHandle 方法中“编辑”对象 Utente。我不明白在哪里可以检索对象 Utente。从请求?表单对象处理程序

在方法postHandle中很容易做到这一点,因为我可以从参数ModelAndView中获取它,但我不知道如何在内部执行它>预处理

谢谢

最佳答案

#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 中检索并使用该对象

关于java - 如何从 HandlerInterceptorAdapter 检索 modelAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364177/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com