我為 Spring 2.4 實作了這個舊代碼
public class Interceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
........
return super.preHandle(request, response, handler);
}
}
我將代碼遷移到 Spring 2.6:
public class Interceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
......................
return HandlerInterceptor.super.preHandle(request, response, handler);
}
}
我得到了Cannot resolve method 'preHandle' in 'Object'
,所以我將代碼更改為HandlerInterceptor.super.preHandle(request, response, handler);
以這種方式編輯代碼是否正確:HandlerInterceptor.super.preHandle(request, response, handler);
或者應該以另一種方式編輯?
uj5u.com熱心網友回復:
這應該是
public class Interceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
......................
return true;
}
}
請注意,該方法回傳一個布林值。它告訴 Spring 進一步處理請求 (true) 或不 (false)。
preHandle()
in的默認實作HandlerInterceptor
只回傳true
(https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/HandlerInterceptor.html#preHandle-javax.servlet.http。 HttpServletRequest-javax.servlet.http.HttpServletResponse-java.lang.Object- )
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/470355.html