icode icode
首页
  • Android学习

    • 📁基础内容
    • 📺AndroidCore
    • 🎨Android-UI
    • 🏖️Components
    • 📊Fragment
    • 🔗网络操作
    • 🔏异步机制
    • 📦数据存储
    • 🗃️Gradle
  • 学习笔记

    • 『框架』笔记
    • 『Kotlin』笔记
    • 《Vue》笔记
    • 《Git》学习笔记
    • 『Bug踩坑记录』
  • ListView
  • RecyclerView
  • ViewPager
  • Java笔记

    • 🟠JavaSE
    • 🟢JavaWeb
    • 🔴JavaEE
    • ⚪JavaTopic
    • 🍳设计模式
  • 计算机基础

    • 📌计算机网络
    • 🔍数据结构
    • 📦数据库
    • 💻OS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 关于

    • 📫关于我
  • 收藏

    • 网站
    • 资源
    • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

iqqcode

保持对技术的探索实践与热爱
首页
  • Android学习

    • 📁基础内容
    • 📺AndroidCore
    • 🎨Android-UI
    • 🏖️Components
    • 📊Fragment
    • 🔗网络操作
    • 🔏异步机制
    • 📦数据存储
    • 🗃️Gradle
  • 学习笔记

    • 『框架』笔记
    • 『Kotlin』笔记
    • 《Vue》笔记
    • 《Git》学习笔记
    • 『Bug踩坑记录』
  • ListView
  • RecyclerView
  • ViewPager
  • Java笔记

    • 🟠JavaSE
    • 🟢JavaWeb
    • 🔴JavaEE
    • ⚪JavaTopic
    • 🍳设计模式
  • 计算机基础

    • 📌计算机网络
    • 🔍数据结构
    • 📦数据库
    • 💻OS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 关于

    • 📫关于我
  • 收藏

    • 网站
    • 资源
    • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • JavaSE

  • JavaWeb

    • BootStrap

    • Cookie和Session

    • JavaScript

    • JDBC

    • JQuery

    • JSON

    • JSP

      • JSP基础
      • EL表达式
        • EL表达式简介
        • EL语法
        • EL表达式使用
          • 运算
      • JSTL标签
      • MVC与三层架构理解
    • Maven

    • Servlet

    • Tomcat

    • XML

  • JavaEE

  • JavaTopic

  • 设计模式

  • 计算机基础

  • Java后端
  • JavaWeb
  • JSP
iqqcode
2021-06-17
目录

EL表达式

# EL表达式简介

EL是JSP 2.0增加的技术规范,其全称是表达式语言(Expression Language)。EL语言的灵感来自于ECMAScript (opens new window) 和 XPath (opens new window)表达式语言。

EL表达式语言是一种简单的语言,提供了在JSP中简化表达式的方法,目的是为了尽量 减少JSP页面中的Java代码,使得JSP页面的处理程序编写起来更加简洁,便于开发和维护。

# EL语法

JSP默认支持EL表达式,在JSP中访问模型对象是通过EL表达式的语法来表达。 所有EL表达式的格式都是以${}表示。例如,${ userinfo}代表获取变量userinfo的值。当EL表达式的变量不给定范围时,则默认在page范围查找,然后依次在request、session、application范围查找。

也可以用范围作为前缀表示属于哪个范围的变量,例如:${ pageScope. userinfo}表示访问page范围的userinfo变量。 作用:替换和简化jsp页面中java代码的编写 语法:${表达式} 忽略页面中所有的EL表达式 <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="true"%> 忽略当前EL表达式

  • 转义字符\${3 > 4}

# EL表达式使用

# 运算

EL运算符

操作符 描述
. 访问一个Bean属性或者一个映射条目
[ ] 访问一个数组或者链表的元素
( ) 组织一个子表达式以改变优先级
+ 加
- 减或负
* 乘
/ or div 除
% or mod 取模
== or eq 测试是否相等
!= or ne 测试是否不等
< or lt 测试是否小于
> or gt 测试是否大于
<= or le 测试是否小于等于
>= or ge 测试是否大于等于
&& or and 测试逻辑与
|| or or 测试逻辑或
! or not 测试取反
empty 空运算符

empty:用于判断字符串、集合、数组对象是否为null,并且长度是否为0

  • ${empty list}:域中list键对应的值是否为空,长度是否为0
  • ${not empty str}:判断字符串、集合、数组对象是否不为null并且长度>0

# 获取值

EL表达式只能从域对象中获取值 语法

1. ${域名称键名}:从指定域中获取指定键的值

域名称

pageScope pageContext
requestScope request
sessionScope session
applicationScope application(ServletContext)

在这里插入图片描述 举例:在 request域中存储了 name=Mr.Q 获取:${ requestscope.name}

2. ${键名}表示依次从最小的域中查找是否有该键对应的值,直到找到为止 ${name}依次从上面四个域中寻找名为name的键(域的范围从小到大)

3. 获取对象、List集合、Map集合的值

  1. 对象:${域名称.键名.属性名}
  • 本质上会去调用对的 getter方法
  1. List集合:${域名称.键名[索引]}
  2. Map集合:
  • ${域名称.键名.key名称}
  • ${域名称.键名["key名称"]}

动态获取虚拟目录

${pageContext.request} ${pageContext.request.contextPath} 等价于response.sendRedirect(request.getContextPath() + "");

【参考文章】

  • EL表达式 (opens new window)
  • JSP 表达式语言 (opens new window)
编辑 (opens new window)
上次更新: 2021/06/27, 10:49:09
JSP基础
JSTL标签

← JSP基础 JSTL标签→

最近更新
01
匿名内部类
10-08
02
函数式接口
10-08
03
ARouter-Kotlin踩坑
10-05
更多文章>
Theme by Vdoing | Copyright © 2021-2023 iqqcode | MIT License | 备案号-京ICP备2021028793号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×