EL表达式

简介: 这篇文章介绍了EL表达式的基本概念、语法、保留关键字、运算符及其优先级,并详细解释了如何在EL中访问数据、进行算术运算、判断对象是否为空、逻辑关系运算和条件运算。

文章目录

  • 1、EL表达式是啥?
  • 2、基本语法
  • 3、EL的保留关键字
  • 4、EL的运算符及优先级
  • 5、使用EL访问数据
  • 6、在EL中进行算术运算
  • 7、在EL中判断对象是否为空
  • 8、在EL中进行逻辑关系运算
  • 9、在EL中进行条件运算

1、EL表达式是啥?

通过它可以简化jsp开发中对对象的引用的步骤,从而规范页面代码,增加程序的可读性以及可维护性。
帮助理解:就像jQuery简化dom元素的操作一样、说白了就是简化操作。

2、基本语法

EL表达式的语法简单的很:${expression},开头是${ ,中间是合法的表达式,结尾是}

比如使用El表达式输出一个字符串、单引号和双引号都可以

  • ${“hello EL!!”}
  • ${‘hello EL’}

3、EL的保留关键字

和java一样,在进行变量命名的时候,避免使用,就算你使用了,程序也会提醒你。

随便几个保留关键字:and、eq、gt、true、instanceof…

4、EL的运算符及优先级

在这里插入图片描述
使用括号可以改变优先级、最好使用括号、还方便阅读、何乐而不为呢

5、使用EL访问数据

1、这个[]和.运算符可以访问数据、等价的
例如:${user.name}和${user[name]}

注意:[]还可以读取数组和list中的元素

  • 1、读取数组元素:${arr[0]}、代表读取arr数组的第一个元素。
  • 2、读取list集合的形式和数组一样

6、在EL中进行算术运算

比如

  • ${1+1} 输出结果:2
  • ${1-1} 输出结果:0

注意: EL中的+和Java中的+运算符不同,如果连接两个可以转换为数值型的字符串,EL会自动将其转换为数值型,在运算。如果连接的内容不能转换为数值型,抛异常。

7、在EL中判断对象是否为空

语法表达式:${ empty expression}

  • expression:代表要判断的对象或变量

举例子:假设user是null。${empty user} 返回的结果是true

提示:还可以和not运算符连用,${ not empty expression}

8、在EL中进行逻辑关系运算

全部都是老生常谈的了、没啥好说的
语法格式:${ 表达式1 关系运算符 表达式2}
还有一个逻辑运算、这里不在详细讲述

9、在EL中进行条件运算

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

和三目运算符很像、条件表达式的值为true,则返回的结果是表达式1,为false、返回表达式2。

相关文章
|
存储 XML Java
Flowable工作流-高级篇
Flowable工作流-高级篇
10213 1
|
JSON 前端开发 数据可视化
AMIS【部署 01】amis前端低代码框架可视化编辑器amis-editor本地部署流程
AMIS【部署 01】amis前端低代码框架可视化编辑器amis-editor本地部署流程
3821 0
|
关系型数据库 MySQL 数据安全/隐私保护
关于Navicat Premium连接MySQL出现2059错误解决方法
关于Navicat Premium连接MySQL出现2059错误解决方法
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
16739 132
|
存储 Java 应用服务中间件
Java规则引擎Drools急速入门
Java规则引擎Drools急速入门
12122 0
Java规则引擎Drools急速入门
|
SQL 运维 关系型数据库
MySQL Binlog 日志查看方法及查看内容解析
本文介绍了 MySQL 的 Binlog(二进制日志)功能及其使用方法。Binlog 记录了数据库的所有数据变更操作,如 INSERT、UPDATE 和 DELETE,对数据恢复、主从复制和审计至关重要。文章详细说明了如何开启 Binlog 功能、查看当前日志文件及内容,并解析了常见的事件类型,包括 Format_desc、Query、Table_map、Write_rows、Update_rows 和 Delete_rows 等,帮助用户掌握数据库变化历史,提升维护和排障能力。
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
16948 5
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
Java Maven
Maven编译报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile 解决方案
在执行Maven项目中的`install`命令时,遇到编译插件版本不匹配的错误。具体报错为:`maven-compiler-plugin:3.13.0`要求Maven版本至少为3.6.3。解决方案是将Maven版本升级到3.6.3或降低插件版本。本文详细介绍了如何下载、解压并配置Maven 3.6.3,包括环境变量设置和IDEA中的Maven配置,确保项目顺利编译。
18177 5
Maven编译报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile 解决方案
|
存储 缓存 Java
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
5600 2
|
分布式计算 数据管理 Hadoop
元数据管理平台对比预研 Atlas VS Datahub VS Openmetadata
元数据管理平台对比预研 Atlas VS Datahub VS Openmetadata
4947 57