EL 11个内置对象
JSP开发人员可以在EL表达式中使用EL隐式对象,而不用任何显式的编码或声明。语法如下:
${隐式对象名} <!-- 获取EL隐式对象的引用 -->
在JSP页面中,可以使用JSP脚本来 <% ... %> 访问JSP隐式对象(9个)。但是在免脚本的JSP页面中则不可能访问这些JSP隐式对象,因此EL提供了一组自己的隐式对象(11个)来访问不同的对象。
EL隐式对象 | 类型 | 说明 |
pageContext | javax.servlet.jsp.PageContext | |
initParam | java.util.Map | 包含所有环境初始化参数,key是参数名,value是参数值 |
param | java.util.Map | 包含所有请求参数,key是参数名,value是指定参数名的第一个参数值 |
paramValues | java.util.Map | 包含所有请求参数,key是参数名,value是指定参数名的所有参数值组成的字符串数组 |
header | java.util.Map | 包含请求标题,key是标题名,value是指定标题名称的第一个标题 |
headerValues | java.util.Map | 包含请求标题,key是标题名,value是指定标题名称的所有标题组成的字符串数组 |
cookie | java.util.Map | 包含当前请求对象中的所有cookie,key是cookie名称,value是cookie值 |
pageScope | java.util.Map | 包含了当前页面范围内的所有属性,key是属性名,value是属性值 |
requestScope | java.util.Map | 包含了当前HttpServletRequest对象中的所有属性,key是属性名,value是属性值 |
sessionScope | java.util.Map | 包含了当前HttpSession对象中的所有属性,key是属性名,value是属性值 |
applicationScope | java.util.Map | 包含了当前ServletContext对象中的所有属性,key是属性名,value是属性值 |
pageContext对象
pageContext对象跟JSP中的隐式对象pageContext相同,表示当前JSP页面的 javax.servlet.jsp.PageContext,在EL中使用该对象可以获取其他的JSP隐式对象。
${pageContext.request} <!-- 获取JSP的内置对象 request --> ${pageContext.response} <!-- 获取JSP的内置对象 response --> ${pageContext.out} <!-- 获取JSP的内置对象 out --> ${pageContext.servletConfig} <!-- 获取JSP的内置对象 config --> ${pageContext.page} <!-- 获取JSP的内置对象 page--> ${pageContext} <!-- 获取JSP的内置对象 pageContext--> ${pageContext.session} <!-- 获取JSP的内置对象 session--> ${pageContext.servletContext} <!-- 获取JSP的内置对象 application--> ${pageContext.exception} <!-- 获取JSP的内置对象 exception-->
initparam对象
访问初始化参数的隐式对象,用于获取上下文参数(即初始化参数)的值
${initParam["password"]} <!-- 获取名为password的初始化参数的值 -->
param对象 和 paramValues对象
用于获取请求参数的值,param对象只能获取请求参数的第一个参数值。如果两个请求参数同名,则只能访问到第一个参数的值;params对象用于获取一个请求参数的多个值,返回所有值的字符串数组
${param["userName"]} <!-- 获取请求参数userName的第一个值--> ${paramValues["selectedOptions"][0]} <!-- 获取请求参数selectedOptions的第一个值 --> ${paramValues["selectedOptions"][0]} <!-- 获取请求参数selectedOptions的第二个值 -->
header对象 和 headerValues对象
用于获取请求头部分的相关信息,header对象获取请求头中标题的第一个值,headerValues对象获取请求头中标题的所有值,返回一个字符串数组
${header["accept-language"]} ${headerValues["accept-language"][0]}
cookie对象
可以用来获取一个cookie
${cookie["jseesionid"]["value"]} <!-- 获取jsseionid的cookie值 --> ${cookie.jssessionid.path} <!-- 获取jsessionid的cookie的路径 -->
pageScope对象、requestScope对象、sessionScope对象、applicationScope对象
用于获取不同作用域范围内的属性值。
有界对象也可以通过没有范围的EL表达式获取。此时,JSP容器将返回PageContext、ServletRequest、HttpSession、ServletContext中第一个同名的对象,执行顺序是从最小范围到最大范围。
EL隐式对象的特点
1)EL只能获取对象的属性,不能改写,也不能直接调用方法。
2)EL中的字符串既可以使用双引号也可以使用单引号,类似于HTML
3)EL表达式在计算时会将字符串转换成数值(null --> 0)
4)EL输出null时用空串(“”)代替
5)EL不能访问局部变量,只能访问作用域中的属性
6)EL中的empty运算符将“”是为null
7)EL中比较字符串内容使用==
转载于:https://www.cnblogs.com/0820LL/p/9845374.html
EL 11个内置对象相关推荐
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】...
什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...
- EL表达式的11个内置对象
EL是JSP内置的表达式语言 JSP2.0开始,不让再使用Java脚本,而是使用EL表达式和动态标签来代替Java脚本 EL替代的是<%=... %>,也就是说EL只能做输出 EL可以输出 ...
- 转:EL表达式的11个内置对象
原文地址:https://blog.csdn.net/qq_17045385/article/details/54799998 EL是JSP内置的表达式语言 JSP2.0开始,不让再使用Java脚本, ...
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】(修订版)...
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 什么是EL表达式? 表达式语言(Expression ...
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】... 1
什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...
- EL表达式的内置对象(待梳理)
EL共有11个内置对象:其中1-10是Map对象,11是PageContext对象 1.param:Map<String,String>类型,可以用来获取参数,与request.getPa ...
- JSP学习 三大指令、九个内置对象、JavaBean、EL表达式
1.page-->最复杂:<%@page language="java" info="xxx"...%>* pageEncoding和cont ...
- python给js变量赋值_python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)...
11.4 JavaScript 11.41 变量 1.声明变量的语法 //1. 先声明后定义 var name; //声明变量时无需指定类型,变量name可以接受任意类型 name= "eg ...
最新文章
- 架构师速成7.6-高中书单资料推荐
- 设计模式:原型模式(Prototype)
- 轨迹预测演变(第1/2部分)
- apollo重要服务之metaService
- [JavaScript语法学习]重新认识JavaScript
- android studio定位gps
- 通信原理中的erf/erfc函数
- CPC23-4-K. 喵喵的神数 (数论 Lucas定理)
- C++自定义列表实现贪吃蛇
- PMS(PackageManagerService)原理简单介绍,启动过程源码简单解析
- 华为、字节跳动、蔚来、康师傅、法雷奥、AIG等公司高管变动
- mac电脑用计算机名共享打印机,MAC与Windows7共享打印机的设置方法
- 怎么在宝妈论坛引流?宝妈论坛如何引流?如何引流宝妈群体
- paddlepaddle本地环境配置
- 【深度学习】01 - 图像识别
- 下载maven依赖的方法步骤
- 杭州电子商务研究院发布“独立站”新概念
- linux abs函数怎么用,Linux输入子系统详解
- ios中三种随机数方法
- SouthernBiotech Annexin V染色方案
热门文章
- c# Hello World
- Cocos2d-x编程中的runOnUiThread方法和runOnGLThread方法剖析
- java语言精粹_java 成神之路 (一)
- ubuntu下mysql无法启动_升级Ubuntu到10.04后MySQL无法启动
- 体现临床实际基线疾病活动度的早期RA患者中, 治疗起效时间对临床和放射学的影响...
- Oracle学习笔记:手工注册oracle的oledb驱动
- linux mysql csv文件_Linux MySQL数据库如何导出数据文件?导出csv语句命令
- JavaWeb——web.xml配置详细解读
- sde执行revoke SELECT ANY TABLE from sde导致报ora-29900 运算符连接不存在错误
- 走自己的路,记得回头看看