我有一个库方法 Common.addTheUsualStuffToTheModel(model)
需要向模型添加各种属性在我的应用程序的每个 Controller 方法中。
@RequestMapping(value = "/everypath", method = RequestMethod.GET)
public final String everyHandler(ModelMap model)
{
model = Common.addTheUsualStuffToTheModel(model);
return "everyPage";
}
到目前为止,我一直在为每个处理程序方法添加同一行:
model = Common.addTheUsualStuffToTheModel(model);
但这恐怕不符合“一次编写,到处使用”的原则。
如何避免在每个处理程序中重复此代码?
最佳答案
您可以使用 interceptor和 <mvc:interceptors>
这样做
在您的拦截器中,您可以添加任何内容作为请求属性(实际上是模型属性所在的位置)。拦截器代码在每个方法(匹配拦截器映射)之前或之后执行。
如果您不一定需要在 Controller 方法之前填充模型,请在 postHandle
中你得到 ModelAndView
的方法对象。
关于java - 执行重复的 Spring Controller 代码的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048856/