我通常使用控制器在我的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的所有页面添加内容?
答案 0 :(得分:2)
我认为你至少有两种可能的选择:
使用MVC Interceptor。使用拦截器,您可以对所有请求执行常见操作。您可以在postHandle
在Controller中使用@ModelAttribute
注释。您可以使用它为控制器中的所有请求映射添加公共数据。如果要向所有控制器提供模型数据,也可以使用@ControllerAdvice(内置@ModelAttribute
注释方法)。 Using @ModelAttribute on a method部分应为此提供一些其他信息。