如何创建不会在页面重新加载时重置的 JSP 变量

Posted

技术标签:

【中文标题】如何创建不会在页面重新加载时重置的 JSP 变量【英文标题】:How to create a JSP variable that does not reset on page reload 【发布时间】:2013-12-02 07:22:19 【问题描述】:

我有两个按钮,一个叫做“上一个”,另一个叫做“下一个”。单击它们时,它们会重新加载定义它们的 JSP 页面。它们还应该增加或减少变量。

<form name="input" action="MyPage.jsp" method="post">
<html> 
<input type="submit" value="Previous" onclick="<% hitsCount--; %>"> 
</html> 
<html>
<input type="submit" value="Next" onclick="<% hitsCount++; %>">
</html> 

我遇到的问题是,我无法弄清楚如何定义变量,使其在每次页面加载时都不会重置。

例如,如果“hitsCount”为 0,我单击“下一步”按钮,页面应重新加载,“hitsCount”的值应加 1。下次我点击“下一步”按钮时,页面会重新加载,“hitsCount”的值应该是 2。

【问题讨论】:

为什么在发布到 jsp 后加载下一页时尝试在 javascript 中跟踪?您正在将 2 个不同环境的代码混合在一起 【参考方案1】:

您可以使用会话存储将值保存在客户端

这是link,您可以在其中了解会话存储的工作原理。

【讨论】:

【参考方案2】:

您总是可以使用 html5 本地存储:

var hitsCount = localStorage.getItem("hitsCount");
localStorage.setItem("hotsCount", hitsCount++);

如果用户使用的是不支持本地存储的旧版浏览器,请尝试设置 cookie。如果您不喜欢这些选项中的任何一个,则必须使用 url 参数将 hitsCount 变量传递到下一个屏幕。

【讨论】:

以上是关于如何创建不会在页面重新加载时重置的 JSP 变量的主要内容,如果未能解决你的问题,请参考以下文章

在 Ionic 中更改 HTML 时避免整页重新加载

怎么刷新页面后,js就不执行了

我的播放器的状态如何不会在每次屏幕加载时重置?

删除记录后PHP页面不会自动重新加载?

刷新 JSP 变量而不重新加载页面

我们可以在不重新加载页面的情况下重置 r 中的页面或对象吗