EL表达式(Exprission language)
EL介绍
Expressive Language, JSP2.0引入,简化jsp开发中对对象的引用,(可以直接读取对象的属性,不需要像之前java脚本那样去做,比较繁琐),使得访问存储在JavaBean中的数据变得非常简单。
基本语法
${表达式}
常见用法
根据其访问对象,可大体分成三类:访问数据(javabean里面的数据)及其各种表达式,访问EL的隐含对象(页面的对象),访问环境信息的隐含对象。
(1)访问数据及其各种表达式

访问数据
${userinfo.id} //1.访问userinfo的id属性。.和[]用于访问数据,二者等价。
${userinfo[id]}
${userinfo.[user-name]} //当属性名含有特殊符号时,就只能使用[],而不能${userinfo.user-name}
${arrBook[0]} //2.(假定arrBook为数组对象)访问request范围中的数组arrBook中的第一个元素
${goodsList[0]} //3.(假定goodsList为List对象)访问request范围中的goodsList的第一个元素 算术运算
${5/2} 或者 ${5 div 2} //5除以2
${17%3} 或者 %{17 mod 3} //17求余3
${1+2} //注意+无法实现两个字符串的拼接,只能做算术运算。 判空
${empty user1} //user1==null或者user1==""的话,都会返回true。 逻辑关系运算
${10==10} 或者 ${10 eq 10} //返回true
${10!=10} 或者 ${10 ne 10} //返回false
${10<10} 或者 ${10 lt 10} //返回false
${10>=10} 或者 ${10 ge 10} //返回true
${ true && true } 等价 ${"true" && "true"} //可知,字符串会转为Boolean进行处理。
${!true} 或者 ${not true} 条件运算
${empty user1? "user1为null或空":user1} //判断user1是否为空,然后输出对应的值。

(2)访问EL的隐含对象


1.获取页面上下文对象pageContext,可以访问jsp内置对象及其他们的属性值和方法。(request、response、out、session、application等)
注意:不可以通过pageContext对象获取保存到request范围内容变量。
${pageContext.response} //获取response对象
${pageContext.response.ContentType} //获取返回响应的内容类型。
${pageContext.session} //获取session对象
${pageContext.session.maxInactiveInterval} //获取session的有效时间的值 2.访问作用域范围的隐含对象
有四个:pageScope、requestScope、sessionScope、applicationScope
${pageScope.user.name} //获取页范围内的user对象的name属性值
${requestScope.user1} //如之前设置过<% request.setAttribute("user1","uuu"); %>
${sessionScope.user2} //如之前设置过<% session.setAttribute("user2","uuu"); %>
${applicationScope.user3} //如之前设置过<% application.setAttribute("user3","uuu"); %>

(3)访问环境信息的隐含对象
有六个:param对象, paramValues对象、header和headerValues对象、iniParam对象、cookie对象
<% Cookie cookie = new Cookie("user","uuu"); //使用response对象设置一个请求有效地cookie对象。
response.addCookie(cookie); %>
${cookie.user.value} //再使用EL获取该cookie对象的值
详情查看 :https://www.cnblogs.com/zadomn0920/p/javaweb.html
EL表达式(Exprission language)的更多相关文章
- EL表达式Expression Language
表达式语言Expression Language目的:简化jsp代码 EL内置对象 1.pageContext2.pageScope3.requestScope4.sessionScope5.appl ...
- 11 JSP/EL表达式/EL函数
JSP * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行 * JSP的运行原 ...
- EL表达式与JSTL(C)标签
一.EL表达式: Expression Language提供了在 JSP 脚本编制元素范围外(例如:脚本标签)使用运行时表达式的功能.脚本编制元素是指页面中能够用于在JSP 文件中嵌入 Java 代码 ...
- JSP——JavaServer Page中的隐式对象(implicit object)、指令(directive)、脚本元素(scripting element)、动作(action)、EL表达式
目录 1.JSP概述 2.注释(comment) 2.1.JSP注释 2.2.HTML注释 3.隐式对象(implicit object) 3.1.隐式对象清单 3.2.request对象 3.3.o ...
- 一、jsp和Servlet基础理论及jstl和EL表达式用法
1.题外话:使用JSP有近一年半的时间了,但是开发量不大.昨天部门突然让做个读取EXCLE文件,然后在前台页面进行展示.并通过点击查看按钮可以对每条明细记录进行跳转后进行详情查看,并按照页面原型进行页 ...
- 2.EL表达式&JSTL标签库常用方法
1.EL表达式 Expression Language表达式语言,主要是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出. 格式为${表达式} EL表达式输出Bean的普通属性.数组属性.Li ...
- EL(Expression Language)表达式语言
EL(Expression Language)表达式语言 EL的基本语法是以${开始,以}结束 为了能够方便地输出数据,EL提供了11个内置对象,其中 2个内置对象为了方便输出请求参数 param用来 ...
- JSP中的EL (Express Language表达式语言)
EL语言的目的: 用于无java代码的JSP页面 创建el1.jsp,el2.jsp el1.jsp <%@ page language="java" contentType ...
- EL表达式(Expression Language)
语法: ${Expression} 来取代难以维护的Java脚本元素,或笨拙的jsp:useBean和jsp:getProperty; 尤其重要的是,表达式语言支持下面的功能: 1.精确地访问存储对象 ...
随机推荐
- mysql中information_schema.columns字段说明
1. 获取所有列信息(COLUMNS) SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='数据库名'; COLUMNS表 ...
- docker mysql配置挂载到卷
docker--将mysql配置挂载到卷 1.首先在根目录创建两个文件夹,其中config文件夹中创建my.cnf配置文件.data文件夹存放数据文件,一定要为空. /docker/mysql/con ...
- Qt5 http/HTTPS访问 以及JSON解析的实用
实用QT5访问HTTP/以及HTTPS协议访问 并且调用Json解析 #include "mywidget.h" #include "ui_mywidget.h" ...
- 【一起学源码-微服务】Nexflix Eureka 源码五:EurekaClient启动要经历哪些艰难险阻?
前言 在源码分析三.四都有提及到EurekaClient启动的一些过程.因为EurekaServer在集群模式下 自己本身就是一个client,所以之前初始化eurekaServerContext就有 ...
- 20行Python代码爬取王者荣耀全英雄皮肤
引言王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工作 ...
- 端口扫描器--利用python的nmap模块
安装nmap模块挺麻烦的,搞了半天 不仅要安装pip install nmap 还要sudo apt install nmap 给出代码,没有设多线程,有点慢,注意端口的类型转换,搞了很久 #!/us ...
- 【原理】从零编写ILI9341驱动全过程(基于Arduino)
最近在淘宝入手了一块ILI9341彩色屏幕,支持320x240分辨率.之前一直很好奇这类单片机驱动的彩色屏幕的原理,就打算自己写一个驱动,从电流层面操控ILI9341屏幕.话不多说,我们开始吧( ̄▽ ̄ ...
- 用VSCode插件来一键填满Github的绿色格子吧-AutoCommit
autoCommit 一个用于Git自动commit的VSCode插件,它可以用来补充之前忘记提交commit,帮助你把首页的绿色格子填满. 使用效果 使用本插件来控制commit次数. 如下图,你甚 ...
- ATOM插件及快捷键
xml-formatter :https://atom.io/packages/xml-formatter xml格式化工具 SHIFT-CTRL-X:快速格式化 SHIFT-CTRL-M:移除换行符 ...
- pqsql 防注入
在数据库查询时经常会遇到根据传入的参数查询内容的情况,传入的参数有可能会带有恶意代码,比如or 1=1,这样where判断为true,就会返还所有的记录.为了解决这个问题,可以在参数外面包一层单引号, ...