170819-关于EL表达式的知识点
1 .EL表达式
[1] 简介
> JSP表达式 <%= %> 用于向页面中输出一个对象。
> 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段。
> 使用EL表达式来代替JSP表达式 ,使用JSTL标签来代替JSP脚本片段。
> EL表达式用来向页面输出内容
getAttribute();//四个域对象都可以使用//作用不是接收请求参数,在使用getAttribute方法之前必须先使用setAttribute()将属性对方法域对象中;返回Object类型!
getParameter()://仅仅是request使用!用于接收请求参数【url,form表单中】;返回值String类型
[2] 基本语法
> ${表达式}
> EL表达式可以从域中获取属性。
- 使用 ${属性名}
- 如果只填写一个属性名,EL表达式会自动做全域查找。
- 所谓的全域查找,就是按照page request session application四个域范围内分别,找到就返回属性,如果没找到什么都不返还。
- 我们还可以指定去哪个域查找 pageScope requestScope sessionScope applicationScope
- 例子: 查找request中属性 ${requestScope.属性名} 查找session中的属性 ${sessionScope.属性名}
- 注意:EL表达式只能获取域中的属性 EL表达式不能直接调用对象的方法
- 通过EL表达式读取对象的属性时,只需要${对象.属性名} EL表达式会自动调用对象的对应的getter方法,通过将属性名首字母大写,然后加上个get 注意:只要有属性,就可以一直点下去,也就说对象的属性是对象的话,我们也可以通过对象的属性的属性的方式调用!
- 当读取一些名字比较特殊的属性时,这种特殊值必须要指定域,例如属性名带-: ${requestScope['属性名']}
[3] 隐含对象
> EL中一共有11个内置对象。
- pageContext 类型 PageContext 它和JSP中pageContext是一个东西 作用 可以获取到JSP中其他的隐含对象 例如:可以获取项目名: ${pageContext.request.contextPath }
- pageScope 类型:Map<String,Object> 代表:page域中的属性 作用:可以获取到page域中的属性
- requestScope 类型:Map<String,Object> 代表:request域中的属性 作用:可以获取到request域中的属性
- sessionScope 类型:Map<String,Object> 代表:session域中的属性 作用:可以获取到session域中的属性
- applicatScope 类型:Map<String,Object> 代表:application域中的属性 作用:可以获取到application域中的属性
- param 类型: Map<String , String> 代表:用户发送的请求参数 作用:可以获取请求参数 用法: ${param.参数名}
- paramValues 类型:Map<String , String[]> 代表:一个请求参数对应的多个值 用法: ${paramValues.参数名[索引]}
- header 作用:可以获取到用户发送的请求头 类型:Map<String , String> 例如:获取用户的系统信息 ${header['User-Agent']} ?
- headerValues 类型: Map<String , String[]> 作用:可以获取一个头的多个值 ?
- initParam; 类型:Map<String , String> 作用:获取整个WEB应用的初始化参数 ?
- cookie 类型:Map<String , Cookie> 作用:用来获取Cookie
[4] 运算
> 在EL中可以直接使用运算符进行运算。
> 在EL中可以使用Empty元素符: 如果值为null , empty则返回 true 如果为空串, 则返回 true 空的集合 返回true
> 所以empty元素符经常用来判断集合或者字符串是否为空
170819-关于EL表达式的知识点的更多相关文章
- jsp与El,jstl知识点总结归纳
jsp与El,jstl知识点总结归纳 jsp部分 一.jsp的三大指令 page ,include,taglib 1.jsp中的page指令 <% page %>-设置jsp 例如: &l ...
- [烧脑时刻]EL表达式1分钟完事
一天,程序员A问我,我们比比谁的知识点多,反应快.我回答:那就看谁最快用EL表达式的显示在页面上吧. 话不多说,计时开始. 项目的结构如上,大概就是一个Family的JavaBean,一个jsp页面, ...
- 一、jsp和Servlet基础理论及jstl和EL表达式用法
1.题外话:使用JSP有近一年半的时间了,但是开发量不大.昨天部门突然让做个读取EXCLE文件,然后在前台页面进行展示.并通过点击查看按钮可以对每条明细记录进行跳转后进行详情查看,并按照页面原型进行页 ...
- 12 Servlet_04 Servlet增删改查 静态页面与动态页面 EL表达式 table表格的一些样式
今天学习了servlet的增删改查: 存储数据 setAttribute(String name,Object obj );获取数据 getAttribute(String name);删除数据 re ...
- jsp页面无法识别el表达式的解决方案
今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...
- El表达式的关系运算符
El表达式的关系运算符: == 对应 eq != 对应 ne > 对应 gt < 对应 It
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- EL表达式的算术运算
一个例子--乘法运算 ${book.bookCount * book.bookPrice } 两个不同对象的EL表达式的算术运算同理 ${student.studentNum * book.bookP ...
- EL表达式杂项
1.<%@ page isELIgnored="false" %> 是否忽略EL表达式,如果值为ture,那么 ${..}这样的会直接原样输出,不会进行EL表达式计算 ...
随机推荐
- 把数据库中的数据制作成Excel数据
把数据库中的数据制作成Excel数据 如果我们在使用Excel的时候,需要把数据库中的数据制作成Excel数据透视表,我们该怎么操作呢?如果数据在数据库中,我们不用把数据导入到工作表中,我们可以直接以 ...
- js中ajax请求返回的数据处理成数组后,局部变量赋值给全局变量后,为空
第二步是想把ss的值扔给res_r,两个数组直接相等即可,可谁想到,取出来的值是空. 如图取出来的值是空. 我一脸懵逼,调试了些许时间,最后把ss遍历一下,在重新push进res_r 再来看效果,已经 ...
- Policy Improvement and Policy Iteration
From the last post, we know how to evaluate a policy. But that's not enough, because the purpose of ...
- Git利用命令行提交代码步骤
利用命令行提交代码步骤进入你的项目目录1:拉取服务器代码,避免覆盖他人代码git pull2:查看当前项目中有哪些文件被修改过git status具体状态如下:1:Untracked: 未跟踪,一般为 ...
- JAVA总结--java基本语法
static :静态的~ static :静态变量.静态方法: 被修饰的成员变量或者方法独立于该类的任何对象,只要该类被加载,被修饰的成员变量或者方法就存在并可以使用. 用public修饰的stat ...
- 小白学Python(15)——pyecharts 绘制树形图表 Tree
Tree-基本示例 import json import os from pyecharts import options as opts from pyecharts.charts import P ...
- Webpack4、iView、Vue开发环境的搭建
导读 项目使用了 yarn ,一个快速.可靠.安全的依赖管理工具.yarn 是一个类似于npm的包管理工具,它是由 facebook 推出并开源,它在速度,离线模式,版本控制的方面具有独到的优势.此项 ...
- Antd-react-mobile项目学习中遇到的问题记录(持续更新)
1.Error:The "injectBabelPlugin" helper has been deprecated as of v2.0. You can use customi ...
- Linux 普通用户自动修改密码
在大量服务器运维中,维护服务器账号就让人头痛,对账号密码策略要求,现写了一个shell脚本来完成账号密码的修改,当然这个不是最好的方法,只是在没有其它辅助服务时使用,最好还是使用账户统一管理服务来维护 ...
- AQS简介以及源码分析
参考链接:https://www.jianshu.com/p/da9d051dcc3d 参考链接:https://www.cnblogs.com/waterystone/p/4920797.html