Ответ 1
Вы можете использовать аннотацию Spring @ControllerAdvice для нового класса контроллера следующим образом:
@ControllerAdvice
public class GlobalControllerAdvice {
@ModelAttribute("user")
public List<Exercice> populateUser() {
User user = /* Get your user from service or security context or elsewhere */;
return user;
}
}
Метод "populateUser" будет выполняться по каждому запросу, и поскольку он имеет аннотацию @ModelAttribute, результат метода (пользователя) будет помещен в модель для каждого запроса.
Пользователь будет доступен в вашем jsp, используя ${user}, поскольку это имя было присвоено @ModelAttribute (пример: @ModelAttribute ( "fooBar" ) → ${fooBar})
Вы можете передать некоторые аргументы в аннотацию @ControllerAdvice, чтобы указать, какие контроллеры рекомендуются этим глобальным контроллером. Например:
@ControllerAdvice(assignableTypes=FooController.class,BarController.class})
or
@ControllerAdvice(basePackages="foo.bar.web.admin","foo.bar.web.management"}))