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中比较字符串内容使用==
EL 11个内置对象的更多相关文章
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...
- 转:EL表达式的11个内置对象
原文地址:https://blog.csdn.net/qq_17045385/article/details/54799998 EL是JSP内置的表达式语言 JSP2.0开始,不让再使用Java脚本, ...
- [转]【EL表达式】11个内置对象(用的少) & EL执行表达式
1.EL的内置对象 其他不用记,红色记一下 代码: 2.EL执行表达式
- EL表达式的内置对象
在EL表达式中,无需创建就可以使用的对象称之为EL隐藏(隐含.内置)对象.在EL中一共有11个隐藏对象,它们都与Map相似.其中10是Map,一个是 PageContext. 参数隐藏对象 这些隐藏对 ...
- jsp内置对象和el表达式
九个内置对象 *out jsp的输出流,用来向客户端响应 *page 当前jsp页面, 它的引用数据类型是Object,即真身中有如下代码 Object page=this; *config 它对应真 ...
- day12(jsp指令&内置对象&动作标签、JavaBean、EL表达式&函数库)
day12 JSP指令 JSP指令概述 JSP指令的格式:<%@指令名 attr1="" attr2="" %>,一般都会把JSP指令放到JSP文件 ...
- JSP学习 三大指令、九个内置对象、JavaBean、EL表达式
1.page-->最复杂:<%@page language="java" info="xxx"...%> * pageEncoding和con ...
- JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础
JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...
- JSP&EL 内置对象
JSP&EL 内置对象 转载▼ 具体的JSP和El中的内置对象见下表,由于我写在了excel中,也不知道怎么把excel发出来,就截了图. 相关问题: Q1: JSP:EL中 pageCo ...
随机推荐
- vl_sift函数用法
I = vl_impattern('roofs1') ; image(I) ; %vl_sift函数的输入是一个单精度的灰度图像,灰度值区间归一化到[, ]. %因此图像 I 需要通过下面的函数转成相 ...
- response.sendfile() fails with Error: Forbidden
[response.sendfile() fails with Error: Forbidden] 参考:https://github.com/expressjs/express/issues/146 ...
- The CHAR and VARCHAR Types
[The CHAR and VARCHAR Types] The CHAR and VARCHAR types are declared with a length that indicates th ...
- PasteDeploy部署Pecan API 服务
part 1:请求处理 使用PasteDeploy模块来实现 WSGI Services 时,都需要加载一个 paste.ini 文件,文件用来定义服务过滤和请求路由,类似于springMvc的拦截器 ...
- Python 函数内变量的作用域
Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域. 全局作用域(global):即在模块层次中定义的变量,每一个模块都是一个全局作用域 ...
- :after伪类+content经典应用举例
:after伪类+content 清除浮动的影响 .box{padding:10px; background:gray;} .l{float:left;} <div class="bo ...
- rancher2 挂载ceph-rbd
一-创建ceph-secret.yml文件 RBD的KEY查看 ceph auth list 复制 client.admin 的key 并使用base64加密 创建ceph-secret.yml ku ...
- apache 多并发测试
进入到apache的bin目录打开 temp.bat 如果没有,新建temp.bat,打开输入 命令:ab -c 一次并发的数量 -n 总共请求的数量 请求的地址 例:ab -c 10 -n 100 ...
- 思维+并查集 hdu5652
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5652 题意: 输入T,接下来T个样例,每个样例输入n,m代表图的大小,接下来n行,每行m个数,代表图, ...
- Unity3D无限奔跑者Playmaker v1.5
这款功能丰富的移动准备包内含使您自己的各种各样的3D游戏运行的一切要素.无需编程! 功能 1 - 响应式滑动控制2 - 投掷炮弹3 - 可破坏物体4 - 能力提升道具- 金币磁铁- 护盾- 继续密钥- ...