【发布时间】:2011-08-21 11:57:34
【问题描述】:
我想将从以前的 JSP 中的 request.getAttribute() 获得的对象存储在 HTML5 本地存储中,以便我可以在另一个页面中使用它,因为我不想使用服务器会话来存储属性。如何做到这一点?我要存储的对象中有 5 个带有 getter 和 setter 的字符串。
【问题讨论】:
标签: jsp html local-storage
我想将从以前的 JSP 中的 request.getAttribute() 获得的对象存储在 HTML5 本地存储中,以便我可以在另一个页面中使用它,因为我不想使用服务器会话来存储属性。如何做到这一点?我要存储的对象中有 5 个带有 getter 和 setter 的字符串。
【问题讨论】:
标签: jsp html local-storage
您可以通过 JavaScript 使用 localStorage setItem 和 getItem 来实现此目的。
将request paramter 添加到 HTML5 本地存储。
<script type="text/javascript">
localStorage.setItem('user','${param.user}'); //Where param user is your request parameter from previous jsp.
</script>
现在获取你存储到本地存储的值
<script type="text/javascript">
localStorage.getItem('user');
</script>
注意:这仅适用于支持 localStorage 的浏览器。
查看html5/webstorage 了解更多信息。
更新: 上面的示例使用字符串存储在 localStorage 中。为了实现作为对象的存储,这将需要一些转换或使用混合可用的工具。就像 Java 对象到 json 到 javascript 到 localstorage 或 json 到本地存储。我尚未对此进行测试,但下面的一些链接可能有助于做到这一点
注意:这不可能是在 localStorage 中存储 Java 对象的确切方法,或者无论如何也不可能。但我认为可以使用上述一些技术将 Java 对象存储在 localStorage 中。要在 localStorage 中获取对象,我认为您需要一个代码来解析服务器端(Java)上的对象。
【讨论】: