Scriptlet包含本地Session变量

时间:2014-06-02 01:29:34

标签: javascript jsp local-storage scriplets

我有2页的JSP文件,在第一个JSP中我将这些行包含在我的javascript函数中。如何在scriplet中检索 localstorage 项?非常感谢任何帮助,谢谢你提前。

localStorage.setItem("surveyDescription", surveyDescription);
window.location = 'Page2.jsp';

1 个答案:

答案 0 :(得分:1)

JSP对象的范围

从应用程序的特定位置使用的JSP对象的可用性被定义为该JSP对象的范围。在JSP页面中创建的每个对象都有一个范围。 JSP中的对象范围分为四部分,它们是页面,请求,会话和应用程序。

1。页

  • 'page'范围意味着,JSP对象只能从创建它的同一页面中的访问。使用<jsp:useBean>标记创建的JSP对象的默认范围是page。

  • JSP implicit objects outexceptionresponsepageContextconfigpage有'page'范围。

2。请求

  • 可以从提供该请求的任何页面访问使用“请求”范围创建的JSP对象。多个页面可以提供单个请求。 JSP对象将绑定到请求对象。隐式对象请求具有“请求”范围。

3。会话

  • 'session'范围意味着,JSP对象可以从属于创建它的同一会话的页面访问。使用会话作用域创建的JSP对象绑定到会话对象。隐式对象会话具有“会话”范围。

4。应用

  • 可以从应用程序中的任何页面访问使用“应用程序”范围创建的JSP对象。 JSP对象绑定到应用程序对象。隐式对象应用程序具有“应用程序”范围。

Oracle Official Document - Object Scopes了解更多内容:

有四种可能的范围:

  1. page - 只能从创建它的JSP页面中访问该对象。请注意,当用户在执行JSP页面时刷新页面时,将创建所有页面范围对象的新实例。

  2. request - 可以从为创建对象的JSP页面提供服务的同一HTTP请求的任何JSP页面访问该对象。

  3. session - 可以从与创建对象的JSP页面共享相同HTTP会话的任何JSP页面访问该对象。

  4. application - 可以从与创建对象的JSP页面相同的Web应用程序(在任何单个Java虚拟机中)中使用的任何JSP页面访问该对象。


  5. 现在根据您的需要选择任何一种。如果您正在讨论2个JSP页面,那么请选择session范围,因为请求不会从一个JSP转发或包含在另一个JSP中。

    只需在implicit object setAttribute(key,value)pagerequestsession上调用application方法即可在任何范围内设置属性并获取使用同一范围内的getAttribute(key)返回值。

    注意:始终尝试避免使用 Scriplet ,而是使用JavaServer Pages Standard Tag LibraryExpression Language