浅谈EL表达式

2023-10-27

目录

EL表达式

什么是EL表达式?

EL表达式的语法:

EL表达式中的查找并输出:

EL运算符

EL算数运算符:

EL比较运算符:

EL逻辑运算符:

EL其他运算符:


EL表达式

什么是EL表达式?

EL 提供了更为简洁、方便的形式来访问变量和参数,不仅可以简化 JSP 页面代码,还会使开发者的逻辑变得更加清晰 。

EL表达式的语法:

${EL表达式}

EL 表达式语法以${开头,以}结束,中间为合法的表达式。

EL表达式中的查找并输出:

全域查找:从小域往大域查找,pageContext->request->session->application

例如:

使用jsp表达式取出EL表达式为:

${param.name}     ——表示获取参数name的值,等同于 <%=request.getParameter('name') %>

如果是setAttribute存入EL表达式为:

${requestScope.name}

如果存入了一个对象,想要获得对象的某个属性值,EL表达式为:

${requestScope.employee.name}

${requestScope.employee.name} 表达的是获取对象的某个属性值

EL运算符

EL算数运算符:

EL算术运算符 说明 范例 结果
+ ${3+2} 5
- ${3-2} 1
* ${3*2} 6
/ 或 div ${3/2} 1
% 或 mod 求余 ${3%2} 1

EL比较运算符:

EL比较运算符 说明 范例 结果
== 或 eq 等于 ${2==2} 或 ${2 eq 2}
${"A"="a"} 或 ${"A" eq "a"}
true
false
!= 或 ne 不等于 ${2!=2} 或 ${2 ne 2}
${"A"!="a"} 或 ${"A" ne "a"}

false

true

< 或 lt 小于 ${2<2} 或 ${2 lt 2}
${"A"<"a"} 或 ${"A"lt "a"}

false

true

> 或 gt 大于 ${2>2} 或 ${2 gt 2}
${"A">"a"} 或 ${"A" gt "a"}
false
false
<= 或 le 小于等于 ${2<=2} 或 ${2 le 2}
${"A"<="a"} 或 ${"A" le "a"}

true

true

>= 或 ge 大于等于 ${2>=2} 或 ${2 ge 2}
${"A">="a"} 或 ${"A" ge "a"}

true

false

EL逻辑运算符:

EL逻辑运算符 说明 范例 结果
&& 或 and ${2>1&&3<4 } 或 ${2>1and3<4 } true
|| 或 or ${2<1||3>4} 或 ${2<1or3>4} false
! 或 not ${!(2>4)} 或 ${not (2>4)} true

EL其他运算符:

1). 和 [ ]

.[ ]是 EL 中最常用的运算符,用来访问 JavaBean 中的属性和隐式对象的数据。一般情况下,.用来访问 JavaBean 属性或 Map 类型的值,[ ]用来访问数组或者列表的元素。

2)empty

empty 用来判断 EL 表达式中的对象或者变量是否为空。若为空或者 null,返回 true,否则返回 false。

3)条件运算符

EL 表达式中,条件运算符的语法和 Java 的完全一致,如下:

${条件表达式?表达式1:表达式2}

其中,条件表达式用于指定一个判定条件,该表达式的结果为 boolean 类型。如果该表达式的运算结果为 true,则返回表达式 1 的值;反之,返回表达式 2 的值。 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浅谈EL表达式 的相关文章

随机推荐

  • 机器学习:你需要多少训练数据?

    摘自 PPTV课堂 作者为Google 软件工程师 美国西北大学电子信息工程博士 擅长大规模分布式系统 编译器和数据库 从谷歌的机器学习代码中得知 目前需要一万亿个训练样本 训练数据的特性和数量是决定一个模型性能好坏的最主要因素 一旦你对一
  • 004.设计原则与思想:设计原则

    设计原则 一 理论一 对于单一职责原则 如何判定某个类的职责是否够 单一 1 如何理解单一职责原则 SRP 二 如何做到 对扩展开放 修改关闭 扩展和修改各指什么 三 里式替换 LSP 跟多态有何区别 哪些代码违背了LSP 四 接口隔离原则
  • IDEA实现远程Debug调试(附上Demo代码)

    目录 一 前提 二 IDEA中如何实现远程Debug模式 1 创建demo项目 2 引入依赖 3 创建启动类和创建demo 4 配置idea 二 IDEA的Debug的优缺点 二 Demo的源代码地址 总结 一 前提 需要准备JDK1 8环
  • C#实现查询MySql数据信息在DataViewGrid控件中显示

    具体的实现步骤如下 1 新建Windows窗体应用程序 添加DataGridView控件 不对DataGridView控件做任何处理 只做拉伸 防止看不到数据 2 为 查看记录 按钮添加事件 代码如下 1 数据库操作类 class DBCo
  • 《机器学习实战》第五章 Python3代码-(亲自修改测试可成功运行)

    由于Peter Harrington所著的这本 机器学习实战 中的官方代码是Python2版本的且有一些勘误 使用Python3的朋友运行起来会有很多问题 所以我将自己在学习过程中修改好的Python3版本代码分享给大家 以供大家交流学习
  • 电力电子中的Boost电路实现PFC功能-介绍与仿真

    今天也是个自习的日子 翻了些资料 觉得自己也是落后了 最新的单级PFC Power Factor Compensation 有Boost Flyback Boost Forward Buck Flyback变流器 和传统的PFC变流器 DC
  • J2EE/JAVA——HTMLform表单中action的‘/’路径问题

    1 HTML中的form表单简单介绍 HTML中的form表单在JAVA企业级开发中拥有十分重要的地位 HTML表单用于收集用户输入的信息 并将收集到的用户信息发送到web服务器中 在初级阶段 form表单常常使用在设计用户登录 用户反馈和
  • 机器学习(中)-投票法原理+思路+案例

    一 投票法的原理 投票法 voting 是集成学习里面针对分类问题的一种结合策略 是一种遵循少数服从多数原则的集成学习模型 通过多个模型的集成降低方差 从而提高模型的 鲁棒性 算法对数据变化的容忍度有多高 在理想情况下 投票法的预测效果应当
  • 认证、加密及数字签名的区别

    前几天 被一个猎头推荐到某世界500强企业 职位是安全测试 由于之前接触过一点点 但是并没有太多经验 奈何 最后的终面 就 尴尬 但是这次 却让我对测试路程 有了一个更清晰的认知 做过 需求 开发 测试 功能 自动化 接口 性能 唯独安全测
  • 第八章numpy之统计相关+练习题

    统计相关 次序统计 计算最小值 numpy amin a axis None out None keepdims np NoValue initial np NoValue where np NoValue Return the minim
  • 聊聊银行的信息科技岗(含各大银行薪资)

    大家好 今天跟大家聊聊薪资问题 作为技术岗 除了可以选择去互联网工作 还有一些同学会选择银行信息科技岗 我周围就有同学到工行 农行软开工作的 也有大佬去了竞争很大的总行 关于银行信息科技岗 看到这篇文章介绍的很不错 来分享给大家 这两天看了
  • 鼠标悬停改变内容-react

    用onMouseEnter onMouseLeave onMouseOver和onMouseOut属性 由于支持冒泡导致不稳定 后来更改为只经过自身触发 经过子元素不触发事件的onMouseEnter和onMouseLeave div is
  • Elasticsearch CCR源码分析(补充)

    接上篇TODO Elasticsearch CCR源码分析 上篇TODO http请求 ccr follow 接收到后 follow集群节点开始全量同步 是以snapshot的模式去拉leader集群数据的 那么是在什么时候将leader集
  • 初识CSS

    下面将学习CSS基础知识 如选择器类型 盒子模型 CSS定位 布局 伪类 伪元素 还有导航栏等 文章目录 一 何为CSS 二 CSS语法 三 CSS id和Class选择器 1 id 选择器 2 class选择器 四 CSS创建 1 如何插
  • VS2015 LINK : warning LNK4068: 未指定 /MACHINE;默认设置为 X86

    修改方法 在工程属性中 选择 配置属性 库管理器 命令行 在下面的其他选项中输入 MACHINE X64
  • 解决微信小程序报错request:fail url not in domain list

    问题 微信开发者工具能正常发送请求 在真机调试的时候发送请求报错 request fail url not in domain list 1 检查微信后台域名信息是否配置了request合法域名 2 检查微信本地设置 将不校验合法域名勾选上
  • 运动目标检测--光流法

    一 概述 运动目标检测是指当监控场景中有活动目标时 采用图像分割的方法从背景图像中提取出目标的运动区域 运动目标检测技术是智能视频分析的基础 因为目标跟踪 行为理解等视频分析算法都是针对目标区域的像素点进行的 目标检测的结果直接决定着智能视
  • maven私服搭建

    文章目录 前言 一 Nexus 二 安装nexus 2 1在Mac终端输入 如果提示没有brew命令 请先安装brew 2 2启动nexus 2 3访问web管理系统 三 nexus的配置 3 1登录后开始设置操作 3 1 1设置新密码 3
  • 笔记/Linux运维面试常见问题

    linux基础 linux的特点 免费 开源 单根目录树 多用户多任务 区分大小写 一切皆文件 不以扩展名区分文件类型 Linux的必须分区有哪些 根分区 swap分区 swap分区的作用 物理内存不足时 未使用的进程可以临时保存到swap
  • 浅谈EL表达式

    目录 EL表达式 什么是EL表达式 EL表达式的语法 EL表达式中的查找并输出 EL运算符 EL算数运算符 EL比较运算符 EL逻辑运算符 EL其他运算符 EL表达式 什么是EL表达式 EL 提供了更为简洁 方便的形式来访问变量和参数 不仅