EL简介和基本语法

编程入门 行业动态 更新时间:2024-10-17 23:32:35

EL简介和基本<a href=https://www.elefans.com/category/jswz/34/1770552.html style=语法"/>

EL简介和基本语法

概念:表达式语言(Expression Language),简称EL,是在JSP2.0版本中引入的特性,用来替代JSP页面中复杂的scriptlet代码,以符号“$”开头(JSP2.1之后也可以“#”开头),类似${expression}这样的代码行。通常用来简化数据的访问操作,可用来替代传统的基于<%=%>形式的的Java代码,以及部分基于<%%>形式的的Java程序片段,提供更清晰的视图层实现,使业务逻辑处理层和视图层尽可能的低耦合。

语法结构:EL的语法结构比较简单:${expression}。其中,expression必须是有效的表达式,有效表达式可以包含常量,操作符,变量(对象引用)和函数调用

在EL出现之前,卡法Java web应用程序时,经常需要将大量的Java代码片段嵌入JSP页面中,这使得页面看起来很乱,如下所示

<%if(session.getAttribute("username")!=null){out.print(session.getAttribute("username").toString());}
%>如果使用EL,则只需一行代码即可实现${username}

可见,EL比较简洁。因此,ELweb开发中比较常用,通常和jstl一起使用。

EL中常量说明
常量的值常量的值
Booleantrue和false
Integer与Java类似,可以包含任何正数和负数。
Floating Point

与Java类似,可以包含任何正的和负的浮点数

String任何由单引号或双引号限定的字符串。对于单引号、双引号和反斜杠,使用反斜杠字符作为转义序列。如果在字符串两端使用烧,则单引号不需要转译。
nullnull表示空对象
EL操作符说明
类型定义
算术型+、-(二元)、*、/、div、%、mod、-(一元)
逻辑型and、&&、or、||、!、not
关系型==、eq、!=ne、<、it、>、gt、<=、le、>=、ge。可以和其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较
empty空字符串是前缀操作,可用于确定值是否为空
条件型A?B:C,根据A的结果来返回B或C的值
EL中隐含对象说明
隐含对象说明描述
pageContext对应JSP页面中的PageContext对象
pageScope代表page域中用于保存属性的map对象
requestScope代表request域中用于保存属性的map对象
sessionScope代表session域中用于保存属性的map对象
applicationScope代表application域中用于保存属性的map对象
param表示了一个保存了所有请求参数的map对象
paramValues表示了一个保存了所有请求参数的map对象,它对于某个请求参数,返回的是一个String[]
header表示一个保存了所有http请求头字段的map对象,注意:如果头里面由“-”,例如Accept-Encoding,需写为header["Accept-Encoding"],而不能使用Accept-Encoding来获取Accept-Encoding的值。
headerValues表示了一个保存了所有http请求头字段的map对象,它对于某个请求参数,返回的是一个String[]数组,注意:如果头里面由“-”,例如Accept-Encoding,需写为headerValues["Accept-Encoding"],而不能使用headerValues.Accept-Encoding来获取Accept-Encoding的值。
cookie表示一个保存了所有cookie的map对象
initParam表示一个保存了所有web应用初始化参数的map对象


${username}意思是获取某一范围中名称为username的变量。因为没有指定范围,所以会依次从page、request、session、application范围查找,途中找到就返回该变量的值,不再继续找下去,全部范围找不到,则返回空字符串。

运算符EL提供点运算符 “.” 和方括号运算符“[ ]”两种运算符来存取数据。

点运算符和方括号运算符可以实现某种程度的互换,如${student.name}等价于${student ["name"] },用于获取并显示student对象name属性值到页面上。

当要存取的属性名称中包含一些特殊字符,如“.”或 “?”等并非字母或数字的符号时,就一定要使用    [ ]。例如,${user.My-Name}应改为${user["My-Name"]}

如果要动态取值,就可以用“[ ]”来做,而“ . ”无法做到动态取值。例如,${sessionScope.student[data]}中的data是一个变量。

更多推荐

EL简介和基本语法

本文发布于:2024-02-12 16:15:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1688517.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语法   简介   EL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!