我正在使用Spring MVC编写应用程序.我有一个从数据库返回值的方法.我想在网站的标题中显示这些值(显示在所有页面上).我怎么能这样做?
我需要在每个控制器中调用此方法.
使用@ControllerAdvice
注释声明一个类,然后使用注释声明一个方法@ModelAttribute
.例如:
@ControllerAdvice public class GlobalControllerAdvice { @ModelAttribute public void myMethod(Model model) { Object myValues = // obtain your data from DB here... model.addAttribute("myDbValues", myValues); } }
Spring MVC将在每个MVC控制器中的每个方法之前调用此方法.您将能够myDbValues
在所有页面中使用该属性.
本@ControllerAdvice
类应该在同一个Java命名空间,其中所有的MVC控制器(以确保Spring可以自动检测).
有关更多详细信息和注释,请参阅Spring参考.@ControllerAdvice
@ModelAttribute