EL知识点总结
EL知识点总结 - canger - 博客园
http://www.cnblogs.com/canger/p/6675799.html
1 只可以获取内置对象的属性值,不可以获取JSP页面中局部java变量的值
<%
String name = "James";
request.setAttribute("name",name);
int age = 30;
%>
<h2>${name}</h2>
<h2>${age}</h2>
2 只有“${”两个字符连续出现时,才表示EL的开始,任何单独字符出现时都可正常显示
<%
String name = "James";
request.setAttribute("name",name);
%>
<h2>${name}</h2>
<h2>$${name}</h2>
<h2>{${name}</h2>
3 如果只出现了“${”,而没有“}”作为结束,则服务器报错,出现空的“${}”时,服务器报错
4 需要输出“${”时,需要写为“\${”(页面最终显示时会去掉“\”),或者写成“${'${'}”
<h2>\${}</h2>
<h2>${"${}"}</h2>
5 EL运算符中的“+”的操作数只可以是数字运算或者可以转换为数字的字符串,对不可以转换为数字的字符串运用“+”运算讲产生错误
<h2>${123+"124"}</h2>
6 对于EL的empty运算符,null对象与空字符串“”、空数组、空list等是等价的
<%
request.setAttribute("emptyString","");
request.setAttribute("nullObject",null);
request.setAttribute("emptyList",new ArrayList<String>());
request.setAttribute("emptyMap",new HashMap<String,String>());
%>
<h2>${empty emptyString}</h2>
<h2>${empty nullObject}</h2>
<h2>${empty emptyList}</h2>
<h2>${empty emptyMap}</h2>
</body>
7 EL获取某个对象的值时,本质是调用该对象的toString()方法
<%
request.setAttribute("requestString",request.toString());
%>
<html>
<body>
<h2>${requestString}</h2>
<h2>${pageContext.request}</h2>
</body>
</html>
8 EL的内置对象与JSP的内置对象并不相同(除了pageContext对象),两者关系是:EL的内置对象可以访问对应的JSP内置对象通过setAttribute方法存储的值
- EL内置对象共有11个:pageContext、pageScope、requestScope、sessionScope、applicationScope、param、paramValues、header、headerValues、initParam、cookie(注意不存在responseScope,因为EL的本质是为了获取某个值,而不是设置)
- JSP的内置对象共有9个:pageContext、page、resquest、response、session、application、out、config、exception
- 在页面中直接使用${request}等会报错
- 通过pageContext可以实现EL对JSP内置对象的获取,${pageContext.request}
- 通过pageContext可以获取的对象有page、resquest、response、session、out、exception、servletContext
- 不可以通过pageContext可以获取的对象有application、config、pageContext
9 获取JSP作用于范围对象attribute的两种方法
<%
request.setAttribute("name","Shao");
%>
<h2>${requestScope["name"]}</h2>
<h2>${requestScope.name}</h2>
注意,下面的写法是错误的,因为request对象并不存在getName方法
<h2>${pageContext.request.name}</h2>
10 获取JSP作用于范围对象属性的方法
<h2>${pageContext.request.serverPort}</h2>
EL知识点总结的更多相关文章
- jsp与El,jstl知识点总结归纳
jsp与El,jstl知识点总结归纳 jsp部分 一.jsp的三大指令 page ,include,taglib 1.jsp中的page指令 <% page %>-设置jsp 例如: &l ...
- 对EL自己以及对于param、header、cookie的相关应用的相关知识点的复习
EL表达式语言是一种可以计算和输出的java对象的简单语言. 列入请求语句为下面的方式:request.setAttribute("username","zhangsan ...
- 170819-关于EL表达式的知识点
1 .EL表达式 [1] 简介 > JSP表达式 <%= %> 用于向页面中输出一个对象. > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段. > ...
- Spring知识点回顾(04)el 和资源使用
注入普通字符 注入操作系统属性 注入表达式运算结果 注入其他bean属性 注入文件内容 注入网址内容 注入属性文件
- [vue案例的知识点]todo-list
文章的原材料来自于vue的官方示例:https://cn.vuejs.org/v2/examples/todomvc.html,我们在学习过程中,试着对其中的一些知识点进行记录: 一.浏览器数据存储, ...
- javascript中的一些核心知识点以及需要注意的地方
前言 近期杂事甚多,这些事情的积累对知识体系的提升有好处,但是却不能整理出来,也整理不出来 比如说我最近研究的Hybrid在线联调方案便过于依赖于业务,就算分享也不会有人读懂,若是抽一点来分享又意义不 ...
- 小型移动 webApp Demo 知识点整理
包括内容: css初始化.css全局设置.常用meat标签.rem适配.flex布局.相关技巧(手势库使用.多行截字.1像素边线.点击状态.placeholder居中等) reset 引用 norma ...
- JavaScript 总结几个提高性能知识点
前段时间花时间看了大半的<High Performance JavaScript>这本书啊,然后就开始忙项目了,庆幸最忙的一周已经熬过去了.由于空不出时间,这个月写的学习笔记也不多,忙完最 ...
- 程序员必懂:javaweb三大框架知识点总结
原文链接:http://www.cnblogs.com/SXTkaifa/p/5968631.html javaweb三大框架知识点总结 一.Struts2的总结 1.Struts 2的工作流程,从请 ...
随机推荐
- Unicode 与 Unicode Transformation Format(UTF-8 / UTF-16 / UTF-32)
ASCII(American Standard Code for Information Interchange):早期它使用7 bits来表示一个字符,总共表示27 = 128个字符:后来扩展到8 ...
- 第二十节,使用RNN网络拟合回声信号序列
这一节使用TensorFlow中的函数搭建一个简单的RNN网络,使用一串随机的模拟数据作为原始信号,让RNN网络来拟合其对应的回声信号. 样本数据为一串随机的由0,1组成的数字,将其当成发射出去的一串 ...
- JAVA设计模式初探之适配器模式
http://blog.csdn.net/jason0539/article/details/22468457 1. 概述 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接 ...
- POJ 2976 Dropping tests(01分数规划)
Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total Submissions:17069 Accepted: 5925 De ...
- (编辑距离问题 线性DP) nyoj1431-DNA基因鉴定
题目描述: 我们经常会听说DNA亲子鉴定是怎么回事呢?人类的DNA由4个基本字母{A,C,G,T}构成,包含了多达30亿个字符.如果两个人的DNA序列相差0.1%,仍然意味着有300万个位置不同,所以 ...
- bzoj2049 线段树 + 可撤销并查集
https://www.lydsy.com/JudgeOnline/problem.php?id=2049 线段树真神奇 题意:给出一波操作,拆边加边以及询问两点是否联通. 听说常规方法是在线LCT, ...
- Vue computed属性
computed vs methods 我们可以使用Vue中的method计算出学科的总分,最终得到的总数结果是相同的. 在上例的基础上,我们把computed区块中的totalMarks函数整体移到 ...
- 2017-12-15python全栈9期第二天第七节之练习题
#!/user/bin/python# -*- coding:utf-8 -*-print(6 or 2 > 1)print(3 or 2 >1 )print(0 or 5 <4)p ...
- 设计模式---行为变化模式之命令模式(Command)
前提:行为变化模式 在组件的构建过程中,组建行为的变化经常导致组件本身剧烈的变化.“行为变化”模式将组件的行为和组件本身进行解耦,从而支持组件的变化,实现两者之间的松耦合. 类中非虚函数和静态函数方法 ...
- ThreadPoolExecutor线程池详解
七个参数: corePoolSize:核心池的大小,在创建了线程池后,默认情况下,线程池中并没有任何线程,而是等待有任务到来才创建线程去执行任务,当有任务来之后,就会创建一个线程去执行任务,当线程池中 ...