Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 如何为每个页面调用一个方法?_Spring Mvc - Fatal编程技术网

Spring mvc 如何为每个页面调用一个方法?

Spring mvc 如何为每个页面调用一个方法?,spring-mvc,Spring Mvc,我正在使用SpringMVC编写一个应用程序。 我有一个从数据库返回值的方法。我想在站点的标题中显示这些值(显示在所有页面上)。我怎么能做到 我需要在每个控制器中调用此方法。您可以编写自己的。使用@ControllerAdvice注释声明一个类,然后使用@modeldattribute注释声明一个方法。例如: @ControllerAdvice public class GlobalControllerAdvice { @ModelAttribute public void myMet

我正在使用SpringMVC编写一个应用程序。 我有一个从数据库返回值的方法。我想在站点的标题中显示这些值(显示在所有页面上)。我怎么能做到


我需要在每个控制器中调用此方法。

您可以编写自己的。

使用
@ControllerAdvice
注释声明一个类,然后使用
@modeldattribute
注释声明一个方法。例如:

@ControllerAdvice
public class GlobalControllerAdvice {

  @ModelAttribute
  public void myMethod(Model model) {

    Object myValues = // obtain your data from DB here...

    model.addAttribute("myDbValues", myValues);
  }
}
SpringMVC将在每个MVC控制器中的每个方法之前调用此方法。您将能够在所有页面中使用
myDbValues
属性

@ControllerAdvice
类应该位于所有MVC控制器所在的相同Java命名空间中(以确保Spring能够自动检测到它)

有关
@ControllerAdvice
@modeldattribute
注释的更多详细信息,请参阅