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 ...
随机推荐
- QQ传文件测试要点
总-分-总 UI: 进度:进度条.百分比.速度.已传文件大小 显示传送文件图标.悬浮有文字 功能入口:图标.菜单项 各种提示:开始传送.各种异常信息的提示.传送结束 给好友传文件.给群传文件 功能 ...
- react+webpack+babel环境搭建
[react+webpack+babel环境搭建] 1.react官方文档推荐使用 babel-preset-react.babel-preset-es2015 两个perset. Babel官方文档 ...
- Brainwashing
[Brainwashing] 1.教育和媒体都是“国家意识机器”,他们维持并复制国家领导者的思想. 2.洗脑.情感.意识. 3.洗脑所产生的各种影响具有如下特征:全用暴力,或者进行欺骗,或二者兼有. ...
- msf客户端渗透(十):社会工程学
启动社会工程学攻击组件 生成二维码攻击模块 输入你想生成二维码的url,这里做演示用www.baidu.com 二维码生成后,在这个路径下 生成u盘,DVD的多媒体攻击载荷 通过修改autorun.i ...
- Jmeter+Ant+Jenkins实现接口自动化(转载)
转载自 http://www.cnblogs.com/chengtch/p/6145867.html 本文转载于上面的网址,稍作修改,实用性更强. Jmeter是压力测试.接口测试工具,Ant是基于 ...
- day31 粘包问题
TCP粘包问题 cmd客户端代码 import socket import struct import socket import json c = socket.socket() c.connect ...
- day27 异常处理 和 网络协议
元类补充 class MyMeta(type): # 用于新建类对象 def __new__(cls,*args,**kwargs) print(MyMeta) print(*args) # 调用ty ...
- Android创建和删除桌面快捷方式
有同学方反馈创建快捷方式后,点击快捷方式后不能启动程序或者提示"未安装程序",貌似是新的rom在快捷方式这块做过修改(由于此文是11年5月所出,估计应该是2.0或2.1的rom), ...
- centos 7 redis-4.0.11 主从
redis-master:192.168.199.223 redis-slave: 192.168.199.224 cd /opt wget http://download.redis.io/rele ...
- leetcode 中等题(2)
50. Pow(x, n) (中等) double myPow(double x, int n) { ; unsigned long long p; ) { p = -n; x = / x; } el ...