gpt4 book ai didi

spring - 在 Spring MVC 中设置全局模型属性的最佳实践是什么?

转载 作者:IT老高 更新时间:2023-10-28 13:53:30 27 4
gpt4 key购买 nike

我有一个数据驱动(缓存)的菜单,它是一个全局组件。我希望能够为每个请求注入(inject)菜单项,因为每个页面都将使用它。放置它的最佳位置是什么?我正在使用基于注解的 Spring3。我能想到的最佳解决方案是使用 OncePerRequestFilter 并将其添加到那里或对 Controller 进行子类化,但不确定如何使用 @Controller 注释来做到这一点。

最佳答案

我能想到两个简单的选择:

每个 @Controller 类都将数据公开为带有 @ModelAttribute 注释的方法,例如

@ModelAttribute
public MyData getMyData() {
...
}

不过,如果您有多个 Controller ,那就不是很好了。此外,这具有将 myData 编码到每个重定向的 URL 的烦人副作用

我建议改为实现 HandlerInterceptor,并以这种方式将数据公开给每个请求。您不能使用任何 annotation-lovin,但最好以这种方式与您的业务逻辑分开。这类似于您的 OncePerRequestFilter 想法,但更像是 Spring-y。

关于spring - 在 Spring MVC 中设置全局模型属性的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4651537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com