Задать вопрос
@I_suss

Возможно ли в фрагмент thymeleaf «вшить» id текущего пользователя?

У меня есть шапка которая присутствует на всех страницах, на шапке есть кнопка которая перекидывает на собственную страничку текущего пользователя.
Как в данную шапку, так сказать, "вшить" id пользователя, чтобы фрагмент сразу же передавался с id текущего пользователя.
Есть вот такой код:
<!DOCTYPE html>
<html lang="en" xmlns:th="https://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
</head>
<header th:fragment="title">
    <div class="logo">
        <a th:href="@{/}">AccountHub.</a>
    </div>
    <div class="reg-log">
        <div th:if="${#authorization.expression('isAnonymous()')}">
            <a th:href="@{/account/login}" style="margin-right: 70px">Вход</a>
            <a th:href="@{/account/registration}" style="margin-right: 70px">Регистрация</a>
        </div>
        <div th:if="${!#authorization.expression('isAnonymous()')}">
            <a th:href="@{/users/{id}(id=${})}">
                <img class="profile-image" src="https://mobimg.b-cdn.net/v3/fetch/75/754da20683ab4a8f859dfa0a7ba0f9ce.jpeg">
            </a>
        </div>
    </div>
</header>
</html>

в данную строчку хочу передавать id
<a th:href="@{/users/{id}(id=${})}">
но я не понимаю, возможно ли такое сделать, чтобы один раз передать в данный фрагмент и везде его использовать, и чтобы не было необходимости передавать в каждую страничку по отдельности, где присутствует данная шапка, id через Model.
Если нет такой возможности, то как сделать более грамотно, более правильно ?
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
enovoselov
@enovoselov
Инженер
Хранить данные в сессии и передавать данные в модель, через фильтр. Нужно создать класс, который переопределяет метод HttpFilter. В его методе нужно будет добавить атрибут который понадобится в шаблоне.
Например:
request.setAttribute("user", user);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы