Spring MVC,在进入Controller调用Action方法之前怎么调用Controller里的方法进行校验?

我想在SpringMVC的分派器找到请求处理的Controller以及action之后,在调用action方法之前,都必须调用Controller类里的一个非请求Action处理的方法,

在这个方法里进行自定义校验(不止参数校验)和数据包装。可以决定是否继续调用action方法还是直接响应。类似拦截器里的prohandler方法

不想为了一个Controller而专门设置一个Spring MVC的拦截器类来处理,我希望能在Controller类文件里解决。

全局处理可以交给拦截器,但一个Controller的前置校验的处理都得专门设个拦截器类还是觉得太啰嗦了。而且拦截器里无法做数据包装,做了也到不了Controller那里。

阅读 3.6k
2 个回答

@ModelAttribute 试试?

不知道你指的数据包装是改变数据内容,还是改变数据类型?

  1. 可以使用aop写表达式切一下那个类的方法。aop是可以写到那个controller里的,这样改动小
  2. 也可以在那个controller封装一个方法,controller的其他接口调用这个方法之后根据结果来决定返回还是往下执行
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题