【问题标题】:How to store variables in all pages requestScopes within Spring如何在Spring内的所有页面requestScopes中存储变量
【发布时间】:2013-08-07 16:46:47
【问题描述】:

我通常使用控制器在我的 jsp requestScopes 中添加对象。

例如,如果我需要在“localhost/products/viewall”中列出类别,我只需更改我的 ProductsController 添加类似的内容

@RequestMapping("/products/viewall")
public void viewCategories(Model model) {
    List<Category> categories = service.findAllCategories();
    model.addAttribute("categories", categories);
}

因此,此方法将类别列表添加到我的 requestScope。

我需要做同样的事情,但是对于网站的所有页面(因为我需要的变量将用于网站的布局)。

如何使用 Spring 向所有页面 requestScopes 添加内容?

【问题讨论】:

    标签: spring model controller


    【解决方案1】:

    我认为您至少有两种可能的选择:

    • 使用MVC Interceptor。使用拦截器,您可以对所有请求执行通用操作。可以扩展HandlerInterceptorAdapter,在postHandle中添加常用模型数据

    • 在 Controller 中使用 @ModelAttribute 注释。您可以使用它为控制器中的所有请求映射添加公共数据。如果您想向所有控制器提供模型数据,也可以使用@ControllerAdvice(内部带有@ModelAttribute 注释方法)。 Using @ModelAttribute on a method 部分应为此提供一些额外信息。

    【讨论】:

      猜你喜欢
      • 2021-03-15
      • 2014-01-18
      • 2022-11-30
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多