Dans un Spring-mvc interceptor, comment puis-je accéder au gestionnaire de la méthode du contrôleur?
Dans un Spring-mvc intercepteur je veux accéder au gestionnaire de la méthode du contrôleur
public class CustomInterceptor implements HandlerInterceptor {
public boolean preHandle(
HttpServletRequest request,HttpServletResponse response,
Object handler) {
log.info(handler.getClass().getName()); //access to the controller class
//I want to have the controller method
...
return true;
}
...
}
J'ai trouvé :
how-to-get-contrôleur-méthode-nom-de-printemps-intercepteur-prehandle-méthode
Mais c'est seulement à contourner. Je veux le nom de la méthode à l'accès à l'annotation.
OriginalL'auteur Troncador | 2013-07-10
Vous devez vous connecter pour publier un commentaire.
Vous pouvez lancer le
Object handler
àHandlerMethod
.Noter cependant que la
handler
argument passé àpreHandle
n'est pas toujours unHandlerMethod
(attention avecClassCastException
).HandlerMethod
puis a des méthodes que vous pouvez utiliser pour obtenir des annotations, etc.@Controller
pour traiter les demandes, alors vous avez la garantie d'avoir seulementHandlerMethod
instances.merci pour l'aide =)
OriginalL'auteur Sotirios Delimanolis
HandlerInterceptors ne vous donner accès à l'HandlerMethod SI vous avez enregistré votre intercepteurs comme suit :
Dans tous les autres cas, le gestionnaire d'objet pointe vers le contrôleur. La plupart de la documentation sur le web semble avoir manqué ce point subtil.
<mvc:interceptors><bean .. >
OriginalL'auteur dr.house