将 @PathVariable 传递到我的所有 JSP 页面而不将其添加到 ModelAndView 的最佳方法是什么?

What best way to pass @PathVariable to my all JSP pages without add it to ModelAndView?

我改变了我的路径:

/user/home /user/history ...

/{orgId}/家 /{orgId}/历史 ...

因此,对于所有 /{orgId}/* 页面,我需要 orgId 在我的 JSP 页面上构建正确的链接。如果不在每个方法中获取 @PathVariable 并将其传递给 ModelAndView,如何做到这一点。

谢谢!

使用 ControllerAdvice 和 ModelAttribute

@ControllerAdvice
class Advice {

    @ModelAttribute
    public void addAttributes(Model model) {
        model.addAttribute("orgId", "value1");

    }
}

从 Spring 4 开始,@ControllerAdvice 可以通过 annotations()、basePackageClasses()、basePackages() 方法自定义为 select 控制器子集。