栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

EL 表达式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

EL 表达式

1.EL表达式的定义与功能

EL(expression Language,表达式语言)是在JSTL 1.0规范中引入的,作为JSTL的组成部分。在JSTL 1.1 规范中,JSP 2.0 容器已经能够独立的理解任何EL表达式,EL可以独立的出现在JSP页面的任何角落

EL可以用来取代难以维护的Java 脚本或笨拙的标签,

2.EL的功能

  • 类似
  • 简化
  • 精确地访问存储对象
  • Bean属性的简略记法
  • 点号记法与数组中括号记法
  • 对集合的简单访问 对请求参数
  • cookie和其他请求数据的简单访问
  • 条件性输出
  • 自动类型转换

3.EL的语法

EL 语法很简单,它最大的特点就是使用上很方便,表达起来更简洁

EL表达式都是以${为起始、以}为结尾的

${ EL表达式 }   EL表达式不区分字母的大小写。可以访问对象的属性。使用EL表达式之前,必须将对象保存到作用域中。

4.EL表达式中的常量

  • EL表达式中的常量包括布尔常量、整型常量、浮点数常量、字符串常量和NULL常量
  • 布尔常量,用于区分事务的正反面,即true或false。
  • 整型常量,与Java中定义的整型常量相同。
  • 浮点数常量,与Java中定义的浮点数常数相同
  • 字符串常量,是用单引号或双引号引起来的一连串字符。
  • NULL常量,用于表示引用的对象为空。页面什么都不会输出。
  • 作为表现层的JSP页面的错误处理,往往会对用户有直观的体验为此EL提供了比较友好的处理方式:不提供警告,只提供默认值和错误,默认值是空字符串

5.EL表达式访问Servlet中的共享数据

EL表达式访问通过setAttribute方法存储在PageContext、HttpServletRequest、HttpSession或ServletContext中的对象

EL 会依次从 PageContext、HttpServletRequest、HttpSession 和 ServletContext 对象中 查找名为 name 的属性。如果找到该属性,则调用它的 toString()方法并返回调用的结果。 如果没有找到任何属性,则返回空字符串


6.JSP页面使用EL实例

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

  
    $Title$
  
  

  ${3+2}
  ${3*2}
  ${3>2}
  ${!true}
  
  

运行结果:

 JSP2.0的页面默认是允许使用EL表达式的,如果要在个别页面内禁用EL

<%@ page isELIgnored= " true "%>

7.EL隐式对象

EL总共有11个隐式对象,分为5大类:

  • JSP隐式对象
  • 作用域访问隐式对象
  • 参数访问隐式对象
  • HTTP头访问隐式对象
  • 初始化参数访问隐式对象

类别

对象标识符

作用

JSP

pageContext

与页面相对应的页面上下文对象

作用域

pageScope

页面作用域里属性/值的集合(Map)

requestScope

请求作用域里属性/值的集合(Map)

sessionScope

会话作用域里属性/值的集合(Map)

applicationScope

应用程序作用域属性/值的集合(Map)

请求参数

param

请求参数/单值字符串的集合(Map)

paramValues

请求参数的所有值作为String 数组存储的集合(Map)

请求头

header

请求头名称/单值字符串的集合(Map)

headerValues

请求头名称/多值作为String 数组存储的集合(Map)

cookie

cookie

所有cookie组成的集合(Map)

初始化参数

initParam

Web 应用程序上下文初始化参数的集合(Map)

8.EL表达式的算数运算符

  • +和 -:常规的加法和减法运算符
  • *和/:常规的乘法和除法运算符
  • %和mod:%(或与之等同的mod)运算符用来计算模数(余数),和Java变程语言中的%相同

表达式

计算结果

${3+2}

5

${3-2}

1

${3*2}

6

${3/2}

1.5

${3 mod 2}

1

9.EL表达式的逻辑运算符

  • && (and) :逻辑与,运算符两边的表达式同时为真,则结果为真。其它情况结果为假
  • ||(or):逻辑或,运算符两边的表达式同为假,则结果为假。只要有一个是真,则结果为真
  • !(not):非,取反。运算符右边的表达式为真时,取反则为假。

表达式

计算结果

${true && true}  or  ${true  and  true} 

true

${true && false}  or  ${true  and  false} 

false

${true || true}  or  ${true  or  true} 

true

${true || false}  or  ${true  or  false} 

true

${ !true}   or  ${not true}

false

10.EL表达式的空值判断运算符 :empty

如果这个运算符的参数为null,空字符串,空数组,空Map或空集合,则返回true,否则返回false

表达式

计算结果

<%pageContext.setAttribute(“x",null);%>

${empty  x}

true

11.EL表达式中的条件性输出

三目运算符:

  • [条件表达式] ?  [结果为真选择] : [结果为假选择]
  • EL表达式通过使用三目运算符可以实现复杂的逻辑处理

表达式

计算结果

${1>2 ? 1 : 2}

2(输出最大数字)

${1<2 ? 1 : 2}

1(输出最小数字)

${1>2 ?  (3<5?’a’:’b’) :  (3>5?’c’:’d’) } 

d

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/681115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号