web开发(六) EL表达式
在网上看见一篇不错的文章,写的详细。
以下内容引用那篇博文。转载于《http://www.cnblogs.com/whgk/p/6432044.html》,在此仅供学习参考之用。
一、EL表达式
JSP中可以使用EL表达式,EL表达式是用"${}"括起来的脚本,用来更方便地读取对象,EL表达式写在JSP的HTML代码中,而不能写在"<%%>"引起的JSP脚本中,现在就来了解一下,EL表达式是如何来替代JSP脚本或者JSP行为的。
EL表达式有11个内置对象。
pageScope、requestScope、sessionScope、applicationScope、pageContext、param、paramValues、header、headerValues、cookie、initParam
pageScope、requestScope、sessionScope、applicationScope代表四个作用域对象
pageContext 表示的是JSP中内置对象pageContext,能获取request等其他JSP八大内置对象
param 表示一个请求参数 ${param.username} 等效 request.getParameter("username");
paramValues 表示一组请求参数 ${paramValues.loves} 等效request.getParameterValues("loves"); 提交喜爱这种多选框
header 表示一个请求头 ${header.referer} 等效request.getHeader("referer");
headerValues 表示一组请求头 ${header.cookie} 等效 request.getHeaders("cookie"); 获取的请求头参数中的内容是一组内容,比如cookie就有可以是多个cookie一起传过来
cookie 获得cookie对象
initPatam web项目初始化参数,servletContext.getInitParameter("xxx");
还有一种特殊的用法,直接获取对象变量,
${user.username}
user为User的一个实例对象,并且存放在page作用域中,上面这句代码的意思是,依次从page、request、session、application作用域查找user对象,直到找到为止,底层使用的是pageContext.findAttribute(); 是一样的效果。
实例讲解:
总结:
EL表达式比较简单,使用它的目的是为了减少JSP脚本,尽量不要在HTML中嵌入Java代码,显的很混乱,而在HTML中使用EL表达式,就比较好来获取JSP中各种对象,获取四大作用域中的值,
如果要获取四大作用域中的数据,则可以使用${}、${pageScope.xxx}
如果想要获取请求参数,则使用param或paramValues
如果想要获取请求头中的一些信息,获取想要获取Servlet的一些对象,比如request、session等,可以使用pageContext来获取request对象,然后在获取所需要的信息,或者直接使用header对象来获取头信息
如果想获取web初始化参数,则使用initPatam
el表达式的运算就不讲解了,很简单,基本上能用的都可以用。
最主要的是要记得EL中有哪11个内置对象,知道了他们就知道了EL可以获取哪些信息。
web开发(六) EL表达式的更多相关文章
- Java Web(六) EL表达式
这也是属于JSP范围内的知识,使用EL表达式,能更好的使用JSP中的各种内置对象和作用域,说点闲话,马上要出去实习了,有点恐慌,可能这是马上要出去工作的学生的通病,继续努力把,兵来将挡水来土掩, -- ...
- web 开发常用字符串表达式匹配
记录一下 web 开发中常用的一些字符串模式,这是我遇到的一些,后面如果还有的话,欢迎大神提出,会继续更新. 正则表达式 这个主要用在前端的验证,nginx 路径匹配,shell 脚本文本处理,后端感 ...
- jsp页面el表达式不起作用
web.xml中2.4版本的默认导入的standerd.jar,和jstl.jar是使用el表达式的包是启动的而2.5版本的web.xml中默认是关闭的所以在2.5的所有jsp中需要启动一下用< ...
- jsp EL表达式和JSTL标签if-else if-else用法
java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- jsp web JavaBean MVC 架构 EL表达式 EL函数 JSTL
一.JavaBean概念(非常重要) 1.JavaBean就是遵循一定书写规范的Java类型(开发中:封装数据) a.必须有默认的构造方法,类必须是public的 public class ...
- JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象
Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...
- day12 EL 表达式和国际化开发
day12 EL 表达式和国际化开发 1. EL(Expression Language) 表达式简介 1.1 执行运算 1.2 获取web开发常用对象(el 中定义了11个隐式对象) 1.3 使用 ...
- JAVA基础之JDBC开发、JSTL语法、EL表达式与数据分页
一.直接使用JDBC开发的问题 1.当表中的列很多时,需要写很长的SQL语句 还需要写大量 setXXX() 设置参数语句 读取数据时还需要写大量setXXXX()设置属性语句 2.非常容易出错,而且 ...
随机推荐
- 完美解决Mysql的Access denied for user 'root'@'%的'问题
背景:mysql5.6 root已授权所有数据库,执行过下面的语句 grant all privileges on *.* to 'root'@'%' identified by 'root' 当使用 ...
- SQL SERVER 2012安装配置说明(多图详解)
1. 优先安装软件 1. net framework3.5. 2. 在安装SQL SERVER 2012前需要3.5的支持.在WIN 2012系统可以在系统管理的添加角色和功能中安装,如下将[.NET ...
- Zen Cart 常用SQL命令
网店日常维护过程中,难免要跟各种批量操作打交道, 虽然大多数操作可以通过批量上传 (easy populate) 和 快速更新 模块来完成, 但在应用便捷性和一些功能性的调整上, 总有一定的局限性; ...
- H5 2次重定向301
测试环境http ,生产https,导致请求重定向.加之H5自己的一次请求重定向,一共2次.
- vue使用echart中国地图
/* 引入 ECharts (按需加载) 文档:http://echarts.baidu.com/tutorial.html#%E5%9C%A8%20webpack%20%E4%B8%AD%E4%BD ...
- Hive中的日志
Hive中的日志分为两种1. 系统日志,记录了hive的运行情况,错误状况.2. Job 日志,记录了Hive 中job的执行的历史过程. 1.系统日志 系统日志存储在什么地方呢 ?在hive/con ...
- thinkphp5权限仿制
权限列表 流程 thinkphp5封装好的权限模块 RBAC还有auth and then .......管理员表,可以依据auth.php搭建所有的权限表
- Wpf自动滚动效果
一.思路 1.使用ScrollView的Scroll.ScrollToVerticalOffset(offset)方法进行滚动 2.ScrollView中放置2个ListView,第一个滚动出边界后, ...
- 【JZOJ5428】【NOIP2017提高A组集训10.27】查询
题目 给出一个长度为n的序列a[] 给出q组询问,每组询问形如\(<x,y>\),求a序列的所有区间中,数字x的出现次数与数字y的出现次数相同的区间有多少个. 分析 我们可以维护一个前缀和 ...
- Rust学习-阶段1学习总结
学习Rust已经两周了,基本上是断断续续的在学,或者是在上下班坐公交时,或者是在ODC没事做时.现在已经学习了Rust程序设计语言的前5章,是时候做一个总结了.关于数据类型或者if else这种内容我 ...