Spring MVC + Thymeleaf: добавление переменной во все контексты шаблонов
Как добавить глобальную переменную, такую как имя пользователя, которое будет использоваться вокруг моего контекста шаблона?
В настоящее время я устанавливаю их явно для каждого объекта ModelAndView в моем TemplateController.
Ответ 1
Несколько способов сделать это.
Если вы хотите добавить переменную ко всем представлениям, обслуживаемым одним контроллером, вы можете добавить аннотированный метод @ModelAttribute - см. ссылку doc.
Обратите внимание, что вы также можете использовать тот же @ModelAttribute
механизм, адрес сразу нескольких контроллеров. Для этого вы можете реализовать этот метод @ModelAttribute в классе, аннотированном с помощью @ControllerAdvice - см. Справочный документ.
Blockquote В Тимелеафе эти атрибуты модели (или контекстные переменные в терминологии Тимелеафа) могут быть доступны со следующим синтаксисом: ${attributeName}, где attributeName в нашем случае является сообщениями. Это выражение Spring EL.
Ответ 3
Если вы просто хотите что-то из своего application.properties в свой шаблон thymeleaf, то вы можете использовать Spring SpEL.