0

我通常使用控制器在我的 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 添加内容?

4

1 回答 1

2

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

  • 使用MVC 拦截器。使用拦截器,您可以对所有请求执行通用操作。您可以扩展HandlerInterceptorAdapter并在postHandle

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

于 2013-08-07T17:26:30.213 回答