简单了解EL表达式

一.什么是EL表达式?

EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。

二.EL表达式的语法格式

在JSP页面的任何静态部分均可通过:${expression}来获取到指定表达式的值

三.EL表达式的主要语法

1.[ ]与.运算符

EL 提供“.“和“[ ]“两种运算符来存取数据。

当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[ ]“。

如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。

2.变量

EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。

因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。

假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传""。EL表达式的属性如下:

属性范围在EL中的名称

Page

PageScope

Request

RequestScope

Session

SessionScope

Application

ApplicationScope

3.操作符 

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

术语

定义

算术型

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

逻辑型

and、&&、or、||、!、not

关系型

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

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

条件型

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

 4.隐式对象

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

pageContext

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

 三.EL表达式的特点

(1)EL语法简单,⽅便

(2)EL可以与JSTL结合使⽤,也可以和JavaScript语句结合使⽤。

(3)EL可以⾃动转换类型。

(4)EL既可以访问⼀般的变量,也可以访问JavaBean中的属性和嵌套属性、集合对象。

(5)EL中可以执⾏算术运算、逻辑运算、关系运算和条件运算等。

(6)EL中可以获得命名空间(PageContext对象,他是页⾯中所有其他内置对象的最⼤范围的集成对象,通过它可以访问其他内置对 象)。

(7)EL中在进⾏除法运算时,如果除数是0,则返回⽆穷⼤Infinity,⽽不返回错误。

(8)EL中可以访问JSP的作⽤域(request、session、application以及page)

(9)扩展函数可以与Java类的静态⽅法进⾏映射。

四.EL表达式的优点

1.代码量小,并且不需要使用尖括号;

2.支持从pageContext,request,session,application中取值,它会自动检查四个作用域,不需要特别指定;

3.如果变量不存在,会输出空字符串"",而不是null,省去了手工判断的工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值