【问题标题】:Spring Boot: Remove attribute from session using ThymeleafSpring Boot:使用 Thymeleaf 从会话中删除属性
【发布时间】:2019-09-16 20:36:48
【问题描述】:
在我的代码中,我在会话中添加了一个属性。
session.setAttribute("message", message);
在我的 HTML 文件中,我想在我使用它之后立即删除它。
<div th:if="${session.message != null}">
// consume message
// remove message from session.
</div>
我该怎么做?
【问题讨论】:
标签:
spring-boot
session
thymeleaf
【解决方案1】:
我解决了我的问题。使用此方法创建了一个组件。
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>