此方法已不再使用 您必须创建一个实用程序 bean 并创建一个会话删除方法,然后在 thymeleaf 中使用该方法来删除属性
班级:
package com.Contact.config;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import jakarta.servlet.http.HttpSession;
@Component
public class sessionUtilityBean {
@Bean
public void removeMessageFromSession() {
try {
System.out.println("removing message form session ");
HttpSession session = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getSession();
session.removeAttribute("message");
} catch (Exception e) {
e.printStackTrace();
}
}
}
然后使用thymeleaf中的方法:
<div th:if="${session.message}"
th:classappend="${session.message.type}" class="alert "
role="alert">
<p th:text="${session.message.content}"></p>
<th:block
th:text="${@sessionUtilityBean.removeMessageFromSession()}"></th:block>
</div>