`
tuxq5721
  • 浏览: 34151 次
社区版块
存档分类
最新评论

JavaWeb —— EL表达式

阅读更多

 

JSP中可以使用EL(Expression Language)表达式。

EL表达式是用"${}"括起来的脚本,用来更方便地读取对象。

EL表达式写在JSPHTML代码中,而不能写在JSP脚本中。

注意:旧版本的Servlet规范不支持EL表达式。例如Tomcat4.x以及之前的版本都不支持EL表达式。

 

 

有效表达式

 

有效表达式可以包含文字操作符变量(对象引用)和函数调用。

 

 

文字

JSP表达式语言定义可在表达式中使用的以下文字:

文字

文字的值

Boolean

true false

Integer

Java类似。可以包含任何正数或负数,例如 24-45567

Floating Point

Java类似。可以包含任何正的或负的浮点数,例如 -1.8E-454.567

String

任何由单引号或双引号限定的字符串。对于单引号、双引号和反斜杠,使用反斜杠字符作为转义序列。必须注意,如果在字符串两端使用双引号,则单引号不需要转义。

Null

null

 

操作符

JSP表达式语言提供以下操作符,其中大部分是 Java 中常用的操作符:

术语

定义

算术型

+-(二元)、*/div%mod-(一元)

逻辑型

and&&or||!not

关系型

==eq!=ne、、gt<=le>=ge。可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较。

空操作符是前缀操作,可用于确定值是否为空。

条件型

A ?B :C。根据 A赋值的结果来赋值 B C

 

隐式对象

JSP表达式语言定义了一组隐式对象,其中许多对象在 JSP scriplet 和表达式中可用:

pageContext

JSP页的上下文。它可以用于访问JSP隐式对象,如请求、响应、会话、输出、servletContext等。例如,${pageContext.response}为页面的响应对象赋值。

此外,还提供几个隐式对象,允许对以下对象进行简易访问:

术语

定义

param

将请求参数名称映射到单个字符串参数值(通过调用ServletRequest.getParameter (String name)获得)。getParameter (String)方法返回带有特定名称的参数。表达式$(param.name)相当于request.getParameter (name)

paramValues

将请求参数名称映射到一个数值数组(通过调用ServletRequest.getParameter (String name)获得)。它与param隐式对象非常类似,但它检索一个字符串数组而不是单个值。表达式${paramvalues. name)相当于request.getParamterValues(name)

header

将请求头名称映射到单个字符串头值(通过调用ServletRequest.getHeader(String name)获得)。表达式${header. name}相当于request.getHeader(name)

headerValues

将请求头名称映射到一个数值数组(通过调用ServletRequest.getHeaders(String)获得)。它与头隐式对象非常类似。表达式${headerValues. name}相当于request.getHeaderValues(name)

cookie

cookie名称映射到单个cookie对象。向服务器发出的客户端请求可以获得一个或多个cookie。表达式 ${cookie. name .value}返回带有特定名称的第一个cookie值。如果请求包含多个同名的cookie,则应该使用${headerValues. name}表达式。

initParam

将上下文初始化参数名称映射到单个值(通过调用ServletContext.getInitparameter(String name)获得)。

除了上述两种类型的隐式对象之外,还有些对象允许访问多种范围的变量:

术语

定义

pageScope

将页面范围的变量名称映射到其值。例如,EL表达式可以使用${pageScope.objectName}访问一个JSP中页面范围的对象,还可以使用 ${pageScope .objectName. attributeName}访问对象的属性。

requestScope

将请求范围的变量名称映射到其值。该对象允许访问请求对象的属性。例如,EL表达式可以使用${requestScope. objectName}访问一个JSP请求范围的对象,还可以使用 ${requestScope. objectName. attributeName}访问对象的属性。

sessionScope

将会话范围的变量名称映射到其值。该对象允许访问会话对象的属性。例如:${sessionScope. name}

applicationScope

将应用程序范围的变量名称映射到其值。该隐式对象允许访问应用程序范围的对象。

 

类别

标识符

描述

示例

请求参数

param

包含所有参数的Map。可以获取参数(返回String

例如${param.foo}

${param[‘foo’]}

 

paramValues

包含所有参数的Map。可以获取参数数组(返回String[]

当提交多个参数,例如el.jsp?a=first&a=second,当提交的参数a为多个值{first,second}

使用param只能获取第一个值,而使用param只能获取第一个值,而使用paramValues能够获取到其他的值。${params.a[0]}将输出”first”,${param.a[1]}将输出”second

头信息

Header

包含所有头信息的Map。可以获取头信息(返回String

例如:${header.host}可能返回localhost:8080

头信息

headerValues

包含所有头信息的Map。可以获取头信息数组(返回String[]

${header.host[0]}。当头信息为数组时可以取多个值。

Cookie

cookie

包含所有CookieMapKeyCookiename属性。

使用<% response.addCookie(new Cookie(user,hello));%>设置Cookie后,${cookie.user}返回该Cookie,而${cookie.user.value}返回”hello”,${cookie.user.name}返回”user

初始化参数

ininParam

包含所有初始化参数的Map。可以获取初始化参数。

${initParam.encoding}

 

pageScope

包含page作用域内变量的Map

使用<jsp:useBean id=person class=cn.itcast.bean.Person scope=page />声明pageScope范围内的Person对象后,${pageScope.person.age}将可以输出讠对象的age属性值

 

requestScope

包含request作用域变量的Map

 

 

sessionScope

包含session作用域内变量的Map

 

 

applicationScope

包含application作用域内变量的Map

 

 

pageContext

包含页面内的变量的Map,包含requestresponsepageapplicationconfig等隐式对象

${pageContext.reqeust.remoteAddr}将返回客户端IP地址。

 

${person.age}

pagereqeustsessionapplication依次查找

 

 

分享到:
评论

相关推荐

    JavaWeb开发——JSP技术

    此文章包含JSP简介、JSP运行原理、JSP标签与标签库及其使用、JSP的内置对象与作用域对象、EL表达式和MVC模式的简介,以及部分案例展示。 适用于任何学习JavaWeb开发中,需要了解JSP技术的人群,希望这篇文章能对大家...

    JavaWeb增删改查实训项目——鬼刀ghostBlade

    - **EL(Expression Language)**:一种简洁的表达式语言,用于在JSP页面中访问和操作Java对象。 - **Servlet Filter**:用于拦截请求,实现如权限控制、日志记录等功能。 - **Session和Cookie管理**:用来跟踪用户...

    javaweb开发购物街系统

    在系统的开发中使用EL表达式JSTL标签库代替JSP页面中数据访问时的复杂编码。使用session记录用户的登录信息以及购物车信息。用户登录后将登录信息保存在session中,如果用户登录后在每一个页面显示用户名。使用...

    Javaweb--狂神版

    "狂神版"很可能指的是由某位知名讲师或专家整理的一套JavaWeb学习资源,这个压缩包可能包含了一个完整的JavaWeb项目实例——SMBMS。 SMBMS(Small and Medium Business Management System)可能是小型和中型企业...

    java 的学习帮助资料

    本文档将深入探讨JSP中的重要组成部分——EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library),这两个工具极大地提升了开发效率,使开发者能够更便捷地处理动态内容。 EL语言介绍: EL是一...

    基于javaweb+jsp的家政服务管理系统(csdn)————程序.pdf

    在提供的代码片段中,JSP被用来展示投诉信息,如`complaintOwner`(投诉人)和`complaintTime`(投诉时间),并通过EL(Expression Language)表达式从后台获取数据。 3. **JavaBean**: JavaBean是一种符合特定规范...

    JavaWeb-ch7-code.rar

    第7章可能涉及到这些或更高级的主题,比如JSTL、EL表达式、或者是与数据库交互的JDBC。 标签"JavaWeb 实验报告"进一步确认了这是一个实践性质的学习材料,可能包括实际的代码示例、测试用例以及运行结果的解释。...

    javaweb教学大纲

    10. **掌握使用JSTL标签和EL表达式**:了解JSTL标签的功能,掌握EL表达式的使用方法。 11. **掌握过滤器与监听器的用法**:理解过滤器和监听器的作用,能够在项目中合理应用。 12. **掌握Session和Cookie的操作**:...

    javaweb课设-学生公寓管理系统

    4. **JSTL与EL表达式**: JSTL(JavaServer Pages Standard Tag Library)是JSP的标签库,提供了许多预定义的标签,如循环、条件判断等,可以简化JSP页面的编写。EL(Expression Language)表达式则用于在JSP页面上...

    JavaWeb数据库课程设计/期末大作业-在线电子书下载网+源代码+文档说明+数据库sql

    JavaWeb课程设计,后端使用了servlet、ajax异步处理、c3p0数据库连接池技术,前端基于bootstrap框架设计,使用的是jsp技术、jstl、el表达式,数据库用到的是Mysql5 - - 小白不懂运行,下载完可以私聊问,可远程教学 ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    ——EL与JSTL标签库 6.1 本章学习任务 6.1.1 本章学习任务 6.1.2 实例开发任务 6.2 EL与ISTL简介 6.2.1 什么是EL 6.2.2 什么是JSTL 6.3 EL表达式的应用 6.3.1 EL的基本语法. 6.3.2 EL的运算符 6.3.3 EL的隐含对象 ...

    javaweb报告模板

    - **界面设计**:评估JSP、JavaScript、JQuery、EL表达式的应用,以及界面美观度,总分为20分。 - **数据库设计**:考察字段类型、长度的合理性,实体完整性和一对多关联关系的实现,总分为20分。 - **MVC设计理念...

    JavaWeb整合开发综合实例源码

    4. **JSTL与EL**:JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是JSP中用于简化页面编程的标签库和表达式语言。在JSP页面上,它们可以用于高效地展示数据,减少脚本代码的编写。 5. ...

    该文件是一种基于JavaWeb的运营管理-学生综合测评系统

    EL(Expression Language)则是用于访问JavaBean属性的表达式语言。Filter和Listener则是JavaWeb中的重要监听器和过滤器,能够实现请求处理前后的拦截和监听特定事件。 【学生综合测评系统功能推测】 一个基于...

    科帮网javaWeb计算机配件报价系统项目源码.zip

    本项目——"科帮网javaWeb计算机配件报价系统",是基于JavaWeb技术实现的一款实用性极强的软件,适用于计算机配件销售、报价管理等领域。下面将对该项目的核心知识点进行深入剖析。 首先,该项目的核心是JavaWeb...

    tomcat7.0 Javaweb必备

    Tomcat 7.0完全支持JSP 2.2规范,允许开发者使用EL(Expression Language)表达式简化页面逻辑,以及利用JSTL(JavaServer Pages Standard Tag Library)简化标签处理。 【部署Web应用】 在Tomcat 7.0中,你可以...

    javaweb毕业设计文献.docx

    - 关键知识点包括JSP语法、表达式语言(EL)、脚本语言等。 10. **《Web设计原理与编程技术》**(徐建波,周新莲) - 本书不仅介绍了Web设计的基本原理,还涉及了Web编程技术。 - 关键知识点包括HTML/CSS基础、...

    MLDN——Java Web 开发实战经典源码笔记(基础篇)|

    3. **JSP**:讲解JSP的脚本元素(脚本let、声明、表达式)、指令(page、include、taglib),以及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的使用。 4. **MVC模式**:解释Model-...

    精通javaweb整合开发

    在“精通javaweb整合开发”这一主题中,我们主要关注的是如何有效地使用Java技术进行Web应用程序的构建。其中,“第04章 初识Java EE展示层组件JSP2.0.rar”这一资料着重讲解了Java Enterprise Edition (Java EE) 中...

Global site tag (gtag.js) - Google Analytics