欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

EL表达式详解

程序员文章站 2022-07-10 19:16:04
@[TOC]EL&JSTL1.EL简介1.1为什么使用EL?EL可以简化JSP中的表达式代码1.2EL全称:Expression Language,是jsp内置的表达式语言1.3EL作用:访问域中的数据【对象&对象中的属性变量】,也可以执行一些简单的运算或判断操作。1.4EL的特点EL在获取数据的时候,会自动地进行数据类型的转换EL在输出数据的时,如果有数据则输出,如果没有数据即【null】,则什么都不输出EL表达式只能用来读取数据,不能对数据进行修改2.EL的使...

@[TOC]EL

1.EL简介

1.1为什么使用EL?

EL可以简化JSP中的表达式代码

1.2EL全称:

Expression Language,是jsp内置的表达式语言

1.3EL作用:

访问域中的数据【对象&对象中的属性变量】,也可以执行一些简单的运算或判断操作。

1.4EL的特点

  • EL在获取数据的时候,会自动地进行数据类型的转换
  • EL在输出数据的时,如果有数据则输出,如果没有数据即【null】,则什么都不输出
  • EL表达式只能用来读取数据,不能对数据进行修改

2.EL的使用

2.1基本使用:

  • ${标识符}:默认从小到大域进行检索数据,如果始终未检测到数据,则什么都不显示
  • ${el域对象.标识符}:直接从指定域中获取数据
    • EL与jsp域对象对照表
域称呼 jsp域对象 EL域对象
page域(页面域) pageContext pageScope
request域(请求域) request sessionScope
session域(会话域) session sessionScope
application域(web上下文域) application applicationScope

2.2EL获取对象及对象中的属性问题

  • 语法
    – ${el域对象.对象名.属性名}
    – ${el域对象.对象名[“属性”]}
    – ${el域对象.对象名.getXXX()}
  • 注意:严格意义属性,封装后的全局变量,称之为属性。el中调用对象中的属性,本质调用的是getXXX()

3.EL中运算符

3.1EL中支持java中的运算符,如:算术,关系,逻辑,三元运算符

3.2EL中特有【empty】运算符

  • 语法:${empty 标识符}
  • empty:判断空值的运算符,判断数据为空时,返回true
  • empty支持3种空值
    – 1.“”
    – 2.null
    – 3.空的数组或集合【数组length=0或集合的size==0】
  • 判断非空语法:!empty{!empty 标识符}或{not empty 标识符}

4.EL中11个内置对象

4.1 4个域对象

  • pageScope
  • requestScope
  • sessionScope
  • applicationScope

4.2 7个其他对象

  • pageContext:jsp中pageContext对象一致,EL中pageContext作用:调用其他8个内置对象
  • param:获取请求参数(单个),相当于jsp中的request.getParameter();
  • paramValues:获取请求参数(多个),相当于jsp中的request.getParameterValues();[name相同]
  • header:获取请求头信息(单个),相当于jsp中的request.getHeader()
  • headerValues:获取多个请求头信息(多个)
  • cookie:获取cookie信息
  • initParam:获取web上下文初始化参数,相当于ServletContext中的getInitParameter()

4.3记忆技巧

  • jsp:pageContext作用=el:pageScope【域对象】+pageContext【获取其他8个对象】
  • jsp:request作用=el:requestScope【域对象】+param【获取请求参数】+header【获取请求头信息】

4.4扩展问题:在EL中需求request对象的【获取URL信息】功能,怎么办?【el中需要使用jsp的session对象怎么办?】

  • ${pageContext}
  • ${pageContext.session}

本文地址:https://blog.csdn.net/qq_44415194/article/details/107497594

相关标签: java web