使浏览器后退按钮正确显示登录页面 div

Make browser back button show login page without error div

我有一个登录 jsp,它接收用户电子邮件并将其发送到 servlet。如果电子邮件不在数据库中,servlet 将重定向回 Login.jsp,并带有属性“error”。在 Login.jsp header 中,我已经有一个检查此属性的 scriplet,如果已设置,它会生成错误消息 div“display:block”,否则它会生成“display:none”。在此错误消息中,我有一个带 javascript 的按钮可重定向到注册页面。

我的问题是: 如果我在注册页面中按下浏览器后退按钮,它会显示登录页面仍然带有错误消息。我希望它显示没有错误消息的登录页面 div.

问题是,当您按回键时,浏览器并不总是重新加载页面,这就是日志记录仍然显示错误的原因,因此您需要强制重新加载页面。这里有一个 link 我给你的解决方案,希望它有效 How to force reloading a page when using browser back button?

编辑:

回答你的评论,是的,它应该放在 js 文件中,像这样应该可以解决问题

var perfEntries = performance.getEntriesByType("navigation");  

(function(){
    if (perfEntries[0].type === "back_forward") {
        location.reload(true);
    }
}());

这是一个不需要调用的函数,该函数在加载JS文件时调用自身