【发布时间】:2011-06-09 04:26:07
【问题描述】:
我正在尝试使用 Spring MVC 3.0,虽然我可以让它工作,但我似乎无法有效地处理这种特殊情况。
我有一个控制器,它处理“/{studyName}/module”前缀,它看起来像这样:-
@Controller
@RequestMapping(value = "/{studyName}/module")
public class ModuleController {
@RequestMapping(...)
public ModelAndView getA(@PathVariable String studyName, ...) {
if (!validStudy(studyName)) { return bad request; }
...
}
@RequestMapping(...)
public ModelAndView getB(@PathVariable String studyName, ...) {
if (!validStudy(studyName)) { return bad request; }
...
}
@RequestMapping(...)
public ModelAndView getC(@PathVariable String studyName, ...) {
if (!validStudy(studyName)) { return bad request; }
...
}
@RequestMapping(...)
public ModelAndView getD(@PathVariable String studyName, ...) {
if (!validStudy(studyName)) { return bad request; }
...
}
}
这段代码的问题是,我的 studyName 验证分散在所有方法中,也可能在其他控制器的方法中。有没有一种方法可以在一个地方对 studyName 路径变量进行验证,而无需使用 AOP 之类的东西?你如何处理这样的验证?
谢谢。
【问题讨论】:
标签: java validation spring-mvc