Spring Boot: удалить атрибут из сессии с помощью Thymeleaf - PullRequest
0 голосов
/ 27 апреля 2019

Где-то в моем коде я добавляю атрибут в сеанс.

session.setAttribute("message", message);

И в моем HTML-файле я хочу удалить его сразу после его использования.

<div th:if="${session.message != null}">
   // consume message
   // remove message from session.
</div>

Как мне это сделать?

1 Ответ

0 голосов
/ 29 апреля 2019

Я решил свою проблему. Создан компонент с этим методом.

public void removeVerificationMessageFromSession() {
        try {
            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            HttpSession session = request.getSession();
            session.removeAttribute("verificationMessage");
        } catch (RuntimeException ex) {
            log.error("No Request: ", ex);
        }
    }

и затем я вызвал этот метод в своем коде сразу после того, как прочитал сообщение.

<div th:if="${session.message != null}">
   // I consumed the message
   <div th:text="${@sessionUtilityBean.removeVerificationMessageFromSession()}"></div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...