我可以想到两个简单的选择:
每个
@Controller类都将数据公开为带有注释的方法
@ModelAttribute,例如
@ModelAttributepublic MyData getMyData() { ...}但是,如果您有多个控制器,那并不是很好。而且,这具有
myData为每个重定向将on 编码为URL 的烦人的副作用
我建议改为实施一个
HandlerInterceptor,然后以这种方式将数据公开给每个请求。您不能使用任何喜欢注释的方法,但最好通过这种方式将其与业务逻辑分开。这与您的
OncePerRequestFilter想法相似,但更具弹性。



