Spring 3 Web MVC - @Controller方法()通过注释进行预处理和后处理功能

Joh*_*ohn 3 java spring spring-mvc

我希望能够拥有以下内容:

@Controller    
public class MyController {

    @RequestMapping(value="/someurl", method=RequestMethod.GET)
    @PreProcess
    @PostProcess
    public String doStuff(ModelMap map) {
        //do stuff
        return "someurl";
    }

}
Run Code Online (Sandbox Code Playgroud)

@PreProcess@PostProcess被任意命名的注解.

我一直在寻找一个有效的例子,但我找不到任何.我看过AOP和@Aspect注释的使用,但我发现它非常复杂.我正在尝试做的一个工作示例将是伟大的.

我过去曾对Spring Security进行过采样,但这并不是我需要的,因为我需要处理自定义,几乎我想要的任何东西.

我知道.Net MVC中提供了此功能.希望它也可以在Spring中使用.

任何帮助或指示真的很感激.

Ale*_*lex 5

您可以使用@ModelAttribute在控制器方法之前执行方法来注释方法.或者使用interceptor

用例子 @ModelAttribute

@Controller    
public class MyController {

    @RequestMapping(value="/someurl", method=RequestMethod.GET)
    public String doStuff(@ModelAttribute("something") Something something, ModelMap map) {
        //do stuff
        // here you can do what you want with something it has been provided to you in the method parameters
        return "someurl";
    }

    @ModelAttribute("something")
    public Something something() {
        // do what you need
        return new Something();
    }
}
Run Code Online (Sandbox Code Playgroud)

something()方法将在每个具有@RequestMapping注释的doStuff()方法之前调用,因此在方法之前调用.