`

Jsp中 表达式语言pageContext的作用是什么,具体怎么用

阅读更多

pageContext 隐含物件对应於javax.servlet.jsp.PageContext型态之物件,,隐含物件都自动的被加入至pageContext中,您可以藉由它来取得与JSP相关的隐含物件对应之Servlet物件,像是getRequest()可以取得ServletRequest, getServletConfig()可以取得ServletConfig,getSession()可以取得HttpSession等等。提供取得隐含物件对应之Servlet物件并不是pageContext的主要作用,它的主要功能在提供一个单一个介面,以管理各种的公开物件(像是 HttpSession、ServletContext、ServletConfig、ServletRequest、ServletResponse等等),提供一个单一的API来管理属性作用范围等等。
我们之前曾经使用过session的setAttribute()等方法设定一个进程可以共用的属性物件,使用session设定的属性在同一个进程中可以共用,除了session之外,还有pageContext、 request、application也都可以使用setAttribute()之类的方法(详请查阅API文件)来设定可以共用的属性物件,只不过这四个物件所设定的属性其共用范围各不相同。
使用pageContext所设定的属性物件,其共用范围限於同一个 JSP页面,使用request所设定的属性物件,其在同一个request处理期间可以共用(包括forward给其它JSP页面),session物件所设定的属性物件则限於同一个进程作用期间可以共用,而application物件所设定的属性,则在整个Web应用程式中的JSP页面都可以共用。

以下举application为例,您可以将一些物件当作属性设定给application,则另一个JSP页面就可以在适当的时候取得这个属性物件,例如:

<%
String attr = "字串物件";
out.println("设定属性给application:" + attr);
application.setAttribute("str", attr);
%>



我们先连上这个JSP网页以执行属性设定,然后我们再连上这个JSP网页:

<%
String attr = (String) application.getAttribute("str");
out.println("取得application属性:" + attr);
%>



由於我们之前已经将字串物件设定在application中作为属性,所以我们可以在上面这个页面中取得之前设定的物件,同样的道理,您也可以用相同的方式设定属性给pageContext、request、session等物件,只要在允许的作用范围中,就可以取得所设定的属性物件。

您可以使用pageContext物件来设定属性,并指定属性的作用范围,而不用使用个别的pageContext、request、session、 application来进行设定,这就是之前所提的,以pageContext提供一个单一的API来管理属性作用范围,您可以使用以下的方法来进行设定:

getAttribute(String name, int scope)
setAttribute(String name, Object value, int scope)
removeAttribute(String name, int scope)



其中的scope可以使用以下的常数来进行指定:pageContext.PAGE_SCOPE、pageContext.REQUEST_SCOPE、 pageContext.SESSION_SCOPE、pageContext.APPLICATION_SCOPE,常数的名称已经直接指明属性范围,我们可以将上面的两个JSP页面改为以下的形式:

<%
String attr = "字串物件";
out.println("设定属性给application:" + attr);
pageContext.setAttribute("str", attr, pageContext.APPLICATION_SCOPE);
%>



<%
String attr = (String) pageContext.getAttribute("str", pageContext.APPLICATION_SCOPE);
out.println("取得application属性:" + attr);
%>

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    jsp表达式语言

    JSP表达式语言(Expression Language, EL)是Sun Microsystems为了弥补Servlet API在实际应用中的不足而推出的一种简单且功能强大的语言。Servlet API虽然强大,但在可维护性和可扩展性方面存在局限性,这促使了JSP...

    jsp2.0表达式语言.pdf

    JSP2.0表达式语言(Expression Language,简称EL)是JavaServer Pages规范的一部分,旨在简化开发者在JSP页面中访问Java对象的过程。相较于传统的JSP脚本元素,EL提供了更为直观、简洁的语法,使得Web开发人员能够...

    jsp页面中表达式语言中的$符号不起作用的解决方法.docx

    另外,在jsp页面中使用表达式语言时,需要注意 pageContext.getAttribute("title")的使用,可以通过pageContext.setAttribute("title", aboutusBean.getTitle())设置title的值,然后通过${pageScope.title}输出title...

    jsp el表达式详解

    JSP EL预定义了一些隐式对象,如`pageContext`、`request`、`response`等,可以直接在EL表达式中使用。这使得开发者无需编写额外的JSP脚本就能访问请求参数或响应头。 **7. EL的优点** - **简洁性**:EL的语法简洁...

    jsp中的EL表达式简介

    EL(Expression Language)是JavaServer Pages(JSP)中的一种简洁的表达式语言,设计的初衷是为了简化JSP页面的编写。EL受到ECMAScript和XPath表达式语言的启发,提供了更高效的方式来访问和操作JSP页面上的数据。 ...

    JSP-EL表达式.ppt

    JSP-EL 表达式是一种用于简化在 JSP 中访问变量的方式的表达式语言,Full Name 称为 Expression Language。JSP-EL 表达式的主要目的是简化静态 HTML 与 Java 代码的耦合,提供了一个灵活的方式来访问变量和对象。 ...

    jsp el表达式

    在JavaWeb开发中,JSP Expression Language(EL表达式)是一种简洁、强大的脚本语言,用于在JavaServer Pages(JSP)中获取和操作JavaBean或其他数据源中的数据。EL表达式的引入是为了简化JSP页面的编写,减少Java...

    java中JSP和el表达式的隐含对象

    ### Java中JSP和EL表达式的隐含对象详解 在Java Web开发中,JSP(Java Server Pages)作为一种常用的技术被广泛应用于构建动态网页。它允许开发者将HTML、JavaScript等静态网页元素与动态生成的内容混合在一起。在...

    表达式语言(EL)

    表达式语言(Expression Language,简称EL)是JavaServer Pages (JSP) 2.0版本中引入的一个强大功能,它提供了一种简单的方式来访问并操作存储在JSP页面上下文中的数据。通过EL,开发者可以在JSP页面中轻松地获取并...

    jspEL表达式和el

    JSP Expression Language,简称EL,是JavaServer Pages(JSP)2.0版本引入的一种轻量级的表达式语言,用于在JSP页面中方便地访问JavaBean属性和其它Java对象。EL的目标是简化JSP中的脚本元素,提高开发效率,使...

    JSP 表达式语言

    JSP 表达式语言(EL)是JavaServer Pages(JSP)的一种核心特性,它简化了从JavaBean中获取和设置数据的过程。EL提供了一种简洁的语法,用于在JSP页面中处理数据和执行基本的计算。下面将详细讨论JSP EL的关键概念和...

    EL表达式语言

    在实践中,EL表达式语言极大地提高了JSP开发的效率,通过分离视图层的逻辑,使得开发者可以更专注于页面的表现,而不是大量的Java脚本代码。了解和熟练掌握EL,对于Java Web开发人员来说是至关重要的技能之一。 ...

    表达式语言(EL)

    表达式语言(Expression Language,简称EL),是JavaServer Pages(JSP)2.0规范中引入的一个强大特性,它允许开发者在JSP页面中直接访问JavaBean属性、数组、列表以及Map等数据结构,而无需使用传统的`&lt;%= %&gt; `...

    在JSP2.0中使用EL表达式语言.doc

    **在JSP 2.0中使用EL表达式语言** EL(Expression Language)是JSP 2.0引入的一种强大的数据访问语言,旨在简化JSP页面中的数据处理,减轻开发人员的工作负担。EL允许开发者无需编写Java脚本(scriptlet)即可访问...

    jsp el表达式培训课件

    **JSP 表达式语言(EL)**是JavaServer Pages(JSP)技术中的一种简化JSP页面动态内容处理的表达方式。EL是JSP 2.0引入的重要特性,旨在提高开发效率,使代码更加简洁易读。它是由JSP标准标签库专家组和JSP 2.0专家...

    EL表达式使用文档,方便快速使用EL表达式.pdf

    EL 表达式的主要作用是获得四大域中的数据,即 pageContext、request、session 和 application 四个域中的数据。EL 表达式的格式为 ${EL 表达式},其中 EL 表达式可以是任何有效的 Java 表达式。 EL 表达式可以获得...

    JSP中的EL表达式介绍.doc

    EL表达式语言的使用大大减少了JSP页面中的Java代码,使得页面更专注于视图的呈现,提升了开发效率和代码的可维护性。通过结合JSP的标签库(Tag Libraries),如JSTL,可以构建出更加高效、易读的JSP应用程序。

    JSP EL表达式

    JSP EL表达式(Expression Language)是JSP 2.0中新增的脚本编制元素,主要用于简化JSP页面的编码。它的引入旨在减少页面中Java代码的使用,从而使页面内容更加清晰,易于维护。接下来将详细阐述EL表达式的定义、...

    关于EL表达式语言的简单总结

    EL表达式语言是JSP开发中不可或缺的一部分,它极大地简化了页面数据的处理过程。通过理解EL的基本语法及其与JSTL的结合使用,开发者可以更加高效地进行Web应用开发。希望本文能帮助大家更好地掌握EL表达式的使用技巧...

Global site tag (gtag.js) - Google Analytics