【发布时间】:2011-12-05 11:54:29
【问题描述】:
在我基于 spring mvc 和 spring security 的应用程序中,我使用@Controller 注解来配置控制器。
我已经配置了 Spring Handler Interceptor 并且在preHandle() 方法中,我想获取将被拦截器调用的方法名称。
我想在HandlerInterceptor 的preHandle() 方法中的控制器方法上定义自定义注释,以便我可以通过记录该特定方法的活动来进行管理。
请看一下我的申请要求和代码
@Controller
public class ConsoleUserManagementController{
@RequestMapping(value = CONSOLE_NAMESPACE + "/account/changePassword.do", method = RequestMethod.GET)
@doLog(true)
public ModelAndView showChangePasswordPage() {
String returnView = USERMANAGEMENT_NAMESPACE + "/account/ChangePassword";
ModelAndView mavChangePassword = new ModelAndView(returnView);
LogUtils.logInfo("Getting Change Password service prerequisit attributes");
mavChangePassword.getModelMap().put("passwordModel", new PasswordModel());
return mavChangePassword;
}
}
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// here I want the controller method name(i.e showChangePasswordPage()
// for /account/changePassword.do url ) to be called and that method annotation
// (i.e doLog() ) so that by viewing annotation , I can manage whether for that
// particular controller method, whether to enable logging or not.
}
我在我的应用程序中使用 SPRING 3.0
【问题讨论】:
-
您是否检查过以下方式?
标签: spring-mvc annotations interceptor