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

基本语法如下:

${表达式}

EL 表达式类似于 JSP 表达式 ,EL 语句中的表达式值会被直接送到浏览器显示,通过 page 指令的 isELIgnored 属性来说明是否支持 EL 表达式。

当 isELIgnored 属性值为 false 时,JSP 页面可以使用 EL 表达式,当 isELIgnored 属性值为 true 时,JSP 页面不能使用 EL 表达式。isELIgnored 属性值默认为 false。

EL 的语法简单、使用方便,它以${开始、以}结束。

1. “[]”与“.”运算符

EL 使用“[]”和“.”运算符来访问数据,主要使用 EL 获取对象的属性,包括获取 JavaBean 的属性值、获取数组中的元素以及获取集合对象中的元素。

对于 null 值直接以空字符串显示,而不是 null,在运算时也不会发生错误或空指针异常,所以在使用 EL 访问对象的属性时不需要判断对象是否为 null 对象,这样就为编写程序提供了方便。

1)获取 JavaBean 的属性值

假设在 JSP 页面中有这样一句话:

那么可以使用 EL 获取 user 对象的属性 age,代码如下:

${user.age}

${user["age"]}

其中,点运算符前面为 JavaBean 的对象 user,后面为该对象的属性 age,表示利用 user 对象的 getAge 方法取值并显示在网页上。

2)获取数组中的元素

假设在 Controller 或 Servlet 中有这样一段话:

String dogs[] = {"lili","huahua","guoguo"};

request.setAttribute("array",dogs);

那么在对应视图 JSP 中可以使用 EL 取出数组中的元素,代码如下:

${array[0]}

${array[1]}

${array[2]}

3)获取集合对象中的元素

假设在 Controller 或 Servlet 中有这样一段话:

ArrayList users = new ArrayList();

UserBean ub1 = new UserBean("zhang",20);

UserBean ub2 = new UserBean("zhao",50);

users.add(ub1);

users.add(ub2);

request.setAttribute("array",users);

其中,UserBean 有两个属性 name 和 age,那么在对应视图 JSP 页面中可以使用 EL 取出 UserBean 中的属性,代码如下:

${array[0].name} ${array[0].age}

${array[1].name} ${array[1].age}

2. 算术运算符

在 EL 表达式中有 5 个算术运算符,如表 1 所示。

表 1 EL的算术运算符

算术运算符

说 明

示 例

结 果

+

${13+2}

15

-

${13-2}

11

*

${13*2}

26

/(或div)

{13 div 2}

6.5

%(或mod)

取模(求余)

{13 mod2}

1

3. 关系运算符

在 EL 表达式中有 6 个关系运算符,如表 2 所示。

表 2 EL 的关系运算符

关系运算符

说 明

示 例

结 果

==(或 eq)

等于

{13 eq 2}

false

!=(或 ne)

不等于

{13 ne 2}

true

小于

{13 lt 2}

false

>(或gt)

大于

{13 gt 2}

true

<=(或le)

小于等于

{13 le 2}

false

>=(或ge)

大于等于

{13 ge 2}

true

4. 逻辑运算符

在 EL 表达式中有 3 个逻辑运算符,如表 3 所示。

表 3 EL 的逻辑运算符

逻辑运算符

说 明

示 例

结 果

&&(或and)

逻辑与

如果 A 为 true,B 为 false,则 A && B(或 A and B)

false

||(或 or)

逻辑或

如果 A 为 true,B 为 false,则 A ||B(或 A or B)

true

!(或 not)

逻辑非

如果 A 为 true,则 !A(或 not A)

false

5. empty 运算符

empty 运算符用于检测一个值是否为 null,例如变量 A 不存在,则 ${empty A} 返回的结果为 true。

6. 条件运算符

EL 中的条件运算符是“? :”,例如 ${A ? B:C},如果 A 为 true,计算 B 并返回其结果,如果 A 为 false,计算 C 并返回其结果。

el表达式ne什么意思_EL表达式的基本语法及运算符相关推荐

  1. el表达式ne什么意思_el表达式中的比较eq ne gt lt

    eq相等 ne.neq不相等, gt大于, lt小于 gt大于, lt小于 gte.ge大于等于 lte.le 小于等于 not非 mod求模 is [not] div by是否能被某数整除 is [ ...

  2. 【MedusaSTears】记一次踏坑:EL表达式不支持正则_EL表达式使用函数一览表_手机/座机号码脱敏正则规则

    吃水不忘挖井人系列: EL表达式中使用函数 <%@ page language="java" pageEncoding="UTF-8"%> < ...

  3. el表达式ne什么意思_JSP中EL表达式的用法详解(必看篇)

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  4. java el表达式原理_EL表达式详解

    @[TOC]EL 1.EL简介 1.1为什么使用EL? EL可以简化JSP中的表达式代码 1.2EL全称: Expression Language,是jsp内置的表达式语言 1.3EL作用: 访问域中 ...

  5. 【Java】LeetCode 150. 逆波兰表达式求值 (后缀表达式)

    题目: 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分. 给定逆波兰表达式总是有效的.换句话 ...

  6. java8的表达式_java8中的Lambda表达式

    lambad表达式是一个匿名函数,既没有函数名的函数.在lambda表达式出现之前,java中更多使用的是匿名内部类所以有些刚刚接触lambda表达式的人会把lambda表达式误认为就是匿名内部类的简 ...

  7. JavaScript表达式--掌握最全的表达式,一切尽在掌握中,让表达不再是难事

    一.JavaScript表达式: 算术表达式: 字符串表达式: 关系(比较)表达式: 逻辑表达式 二.JavaScript运算符: ●什么是表达式--表达式是产生一个结果值的式子,常量,变量,运算符. ...

  8. 表达式树 php,Linux_LINQ学习笔记:表达式树,构建查询表达式 本节中, 我们 - phpStudy...

    构建查询表达式 本节中, 我们假设我们拥有一个这样的实体类: 1: [Table] public partial class Product 2: 3: { 4: 5: [Column(IsPrima ...

  9. 前缀、中缀和后缀表达式详解,中缀表达式到后缀表达式的转换规则,以及后缀表达式的计算规则,附计算代码

    1. 中缀.前缀和后缀表达式 1.1 中缀表达式 首先,中缀表达式的这个"缀"指运算符在两个操作数的位置.中缀表达式其实就是我们常用的算术表达式,比如 2 + 9 - (32 * ...

最新文章

  1. Can't create handler inside thread Thread that has not called Looper.prepare()
  2. 如何提升你的能力?给年轻程序员的几条建议
  3. 《构建高可用Linux服务器》样书
  4. golang map嵌套struct 结构体字段 不能直接修改 解决方法
  5. XXE Lab:1题解
  6. Mybatis之设计模式之装饰者模式
  7. leetcode 213. 打家劫舍 II(dp)
  8. 面向对象(OOP)一
  9. layui弹框提示层:倒计时(layui-font-red颜色定义)
  10. CoralCache:一个提高微服务可用性的中间件
  11. bes2300 tws配对_tws 耳机春天来了!
  12. Linux内核哈希表分析与应用
  13. 软件测试经典面试题(二)给你一个网站如何测试
  14. K8S知道,K9S呢?
  15. HTML页面基本结构
  16. eaxsinbx_高等数学导数与微分练习题
  17. Gary Marcus:因果熵理论的荒诞和认知科学带给AI的11个启示 | 文末赠书
  18. 智慧公厕擦手纸洗手液余量实时在线统计
  19. 微信小程序,小游戏数据助手数据爬取!还敢随便授权小游戏吗?
  20. 图:美国首颗“嗅碳”卫星发射失败坠海

热门文章

  1. 寻找输入数字中的全数字(pandigital) python编程
  2. mysql 快照_Mysql可重复读(2) —— 快照真的就是快照吗
  3. 计算机系统基础 - Lab1
  4. FX2N-2AD模拟量输入模块简述
  5. Spring task corn表达式
  6. C++20中的协程(Coroutine)
  7. html字体大小、颜色、粗体、下划线代码(局部)
  8. 同步代码到github
  9. python爬虫三大解析数据方法:bs4 及爬小说网案例
  10. github page建立动态网站