Обмен данными через фрагмент тимелина - PullRequest
2 голосов
/ 18 апреля 2019

У меня есть фрагмент тимелина под названием nav, который я включаю во все страницы интерфейса, он выглядит так:

<nav class="navbar navbar-expand-md navbar-dark bg-dark" th:fragment="nav">
    <div class="collapse navbar-collapse" id="navbarsExampleDefault">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item active">
                <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
How to get Java data here ?
        </ul>
    </div>
</nav>

Но сейчас я хочу получить некоторые данные из базы данных и получить эти данные в этом фрагменте, который, в свою очередь, появится на каждой странице, содержащей этот фрагмент.

Если я хочу регулярно передавать данные в представление из контроллера, я бы использовал Model и model.addAttribute и возвращал соответствующее представление, которое содержало бы соответствующие данные модели, но как я могу передать данные в этот фрагмент?

1 Ответ

0 голосов
/ 18 апреля 2019
  1. Вы можете создать перехватчик и добавить атрибут модели в методе postHandle (который позволяет получить доступ к объекту ModelAndView. Перехватчик должен быть на всех контроллерах, имеющих этот фрагмент.

  2. Вы можете добавить соответствующие атрибуты модели в сеанс и получить к ним доступ через ${session.attribute}.

  3. Используйте аннотацию @ControllerAdvice вкомбинация с @ModelAttribute для добавления атрибута модели ко всем контроллерам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...