EL表达式概述
一、EL
简介
1.语法结构
${expression}
2.[]与
.
运算符
EL 提供
.
和
[]
两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如.
或
?
等并非字母或数字的符号,就一定要使用
[]
。例如:
${user.My-Name}应当改为
${user["My-Name"] }
如果要动态取值时,就可以用[]
来做,而
.
无法做到动态取值。例如:
${sessionScope.user[data]}中
data
是一个变量
3.变量
EL存取变量数据的方法很简单,例如:
${username}
。它的意思是取出某一范围中名称为
username
的变量。
因为我们并没有指定哪一个范围的username
,所以它会依序从
Page
、
Request
、
Session
、
Application
范围查找。
假如途中找到username
,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传
null
。
属性范围在EL
中的名称
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope
二、EL
隐含对象
1.与范围有关的隐含对象
与范围有关的EL
隐含对象包含以下四个:
pageScope
、
requestScope
、
sessionScope
和
applicationScope
;
它们基本上就和JSP
的
pageContext
、
request
、
session
和
application
一样;
在EL
中,这四个隐含对象只能用来取得范围属性值,即
getAttribute(String name)
,却不能取得其他相关信息。
例如:我们要取得session
中储存一个属性
username
的值,可以利用下列方法:
session.getAttribute("username") 取得
username
的值,
在EL
中则使用下列方法
${sessionScope.username}
2.与输入有关的隐含对象
与输入有关的隐含对象有两个:param
和
paramValues
,它们是
EL
中比较特别的隐含对象。
例如我们要取得用户的请求参数时,可以利用下列方法:
request.getParameter(String name)
request.getParameterValues(String name)
在EL
中则可以使用
param
和
paramValues
两者来取得数据。
${param.name}
${paramValues.name}
3.其他隐含对象
cookie
JSTL并没有提供设定
cookie
的动作,
例:要取得cookie
中有一个设定名称为
userCountry
的值,可以使用
${cookie.userCountry}
来取得它。
header和
headerValues
header 储存用户浏览器和服务端用来沟通的数据
例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}
。
另外在鲜少机会下,有可能同一标头名称拥有不同的值,此时必须改为使用headerValues
来取得这些值。
initParam
initParam取得设定
web
站点的环境参数
(Context)
例:一般的方法String userid = (String)application.getInitParameter("userid");
可以使用 ${initParam.userid}
来取得名称为
userid
pageContext
pageContext取得其他有关用户要求或页面的详细信息。
${pageContext.request.queryString} 取得请求的参数字符串
${pageContext.request.requestURL} 取得请求的
URL
,但不包括请求之参数字符串
${pageContext.request.contextPath} 服务的
web application
的名称
${pageContext.request.method} 取得
HTTP
的方法
(GET
、
POST)
${pageContext.request.protocol} 取得使用的协议
(HTTP/1.1
、
HTTP/1.0)
${pageContext.request.remoteUser} 取得用户名称
${pageContext.request.remoteAddr } 取得用户的
IP
地址
${pageContext.session.new} 判断
session
是否为新的
${pageContext.session.id} 取得
session
的
ID
${pageContext.servletContext.serverInfo} 取得主机端的服务信息
三、EL
运算符
1.算术运算符有五个:
+
、
-
、
*
或
$
、
/
或
div
、
%
或
mod
2.关系运算符有六个:
==
或
eq
、
!=
或
ne
、
<
或
lt
、
>
或
gt
、
<=
或
le
、
>=
或
ge
3.逻辑运算符有三个:
&&
或
and
、
||
或
or
、
!
或
not
4.其它运算符有三个:
Empty
运算符、条件运算符、
()
运算符
例:${empty param.name}
、
${A?B:C}
、
${A*(B+C)}
四、EL
函数
(functions)
。
语法:ns:function( arg1, arg2, arg3 …. argN)
其中ns
为前置名称
(prefix)
,它必须和
taglib
指令的前置名称一置
分享到:
相关推荐
·EL表达式可操作常量、变量和隐式对象。 最常用的隐式对象有${param}和${paramValues}。 ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组值. pageScope 表示页面范围的变量. ...
1.EL 表达式概述 2.EL从域中取出数据(EL最重要的作用) 3.EL的内置对象11个 4.EL执行表达式 1.JSTL概述 2.JSTL下载与导入 3.JSTL核心库的常用标签 1.什么是模式 2.javaEE经历的模式 3.javaEE的三层架构
10.5 Dorado默认提供的EL表达式 176 10.6 实现自定义EL表达式 178 11 I18N (国际化) 181 11.1 设置系统默认Locale 181 11.2 设置Session Locale 182 11.3 创建I18N文件 182 11.4 访问I18N 183 11.5 系统国际化资源的...
第8章?使用表达式语言(EL) 165 ?视频讲解:72分钟8.1 EL概述 165...182 8.7.1 应用EL访问JavaBean属性 182 8.7.2 应用EL表达式显示投票结果 183 8.7.3 应用EL显示用户的登录状态 184 8.8 小结 184 8.9 习题 185
全书共分为4篇,21章,包括JavaWeb概述、搭建开发环境、Java语言基础、JavaScript语言、XML基础、JSP语法、JSP内置对象、JavaBean技术、Servlet技术、EL表达式、JSTL标签库、数据库应用开发、文件上传下载管理、解析...
全书共分为4篇,21章,包括JavaWeb概述、搭建开发环境、Java语言基础、JavaScript语言、XML基础、JSP语法、JSP内置对象、JavaBean技术、Servlet技术、EL表达式、JSTL标签库、数据库应用开发、文件上传下载管理、解析...
初学者必须掌握的JSP+Servlet+JavaBean一些技术:JavaEE的概述、Servlet的基础、基于Servlet的会话跟踪、高级JDBC、JSP标准动作、EL表达式和JSTL
第2篇JSP高级技术分为7章,深入剖析了主流的Web开发框架,包括EL表达式语言、JSTL、自定义标签、Log4j、Hibernate、Spring框架;第3篇Java Web技术应用分为5章,介绍具体场景下的应用案例,包括注册登录模块的应用、...
全书共分16章,内容包括Web应用开发概述、客户端应用技术基础、搭建JSP网站开发环境、Java语言基础、JSP基本语法、JSP的内置对象、JavaBean技术、Servlet技术、数据库应用开发、EL表达式、JSTL核心标签库、JSP操作...
1、WEB技术概述 2、WEB应用程序简介 3、JSP简介 4、脚本元素、指令元素、动作元素 5、内置对象 6、参数传递、URL重写 7、理解Model1 8、EL表达式、JSTL标签 9、自定义标签
主要内容包括:Servlet、JSP、EL表达式、JSTL标签库、Filter过滤器、Listener监听器。在讲解过程中采用的手法是从0到1,让小白学会源码分析,让大牛眼前一亮。总之,不管你是小白,还是已经在从事Java开发的工作者,...
支持自定义el转码,不需要对el表达式的输出做html转码,防止xss注入。 简单快速的标签重写功能,专门针对用模板生成模板。 支持java脚本和标签混合模式,这点与jsp一致,如果你追求极致性能那么可以完全使用java脚本...
el表达式 服务端渲染(SEO) 热部署 js,css语法转换 eslint 热更新 支持Vue 打包压缩 IE9+ 支持传统JSP开发所的所有功能;可以通过自定义webpack配置来实现对react的支持;通过引入vue-router和vuex某一个页面完成可以...
非常详细的javaWeb知识点梳理,涵盖:XML、网络通信、Tocmcat服务器概述、servlet、Request/Response、Cookie、Session、jsp、MVC开发模式、El/JSTL表达式、过滤器、监听器、AJAX、JSON、Maven等
【第五章】Spring表达式语言 之 5.4在Bean定义中使用EL—跟我学spring3 【第六章】 AOP 之 6.1 AOP基础 ——跟我学spring3 【第六章】 AOP 之 6.2 AOP的HelloWorld ——跟我学spring3 【第六章】 AOP 之 6.3 基于...
包括Java Web应用开发概述、HTML与CSS网页开发基础、JavaScript脚本语言、搭建开发环境、JSP基本语法、JSP内置对象、JavaBean技术、Servlet技术、过滤器和监听器、Java Web的数据库操作、EL(表达式语言)、JSTL标签...
16.1 应用el的驱动力 16.2 表达式语言的调用 16.3 阻止表达式语言的求值 16.4 阻止标准脚本元素的使用 16.5 访问作用域变量 16.6 访问bean的属性 16.7 访问集合 16.8 引用隐式对象 16.9 表达式语言...
会话跟踪技术 8 9 9.EL表达式 10 10.JSTL标签库 Java-Web程序设计(PPT)全文共389页,当前为第2页。 本章内容 Web 应用程序简介 HTTP 协议 Tomcat 简介 使用Eclipse开发Java Web 应用程序 静态的登录页面制作 使用...
使用Facelets视图声明语言、托管bean和JSF表达式语言(EL)。按照JSF导航模型声明一个页面,包括新的“隐式导航”功能。使用用户界面组件模型和JSF事件模型,包括支持可添加书签的页面以及POST、REDIRECT、GET模式。...
使用Facelets视图声明语言、托管bean和JSF表达式语言(EL)。按照JSF导航模型声明一个页面,包括新的“隐式导航”功能。使用用户界面组件模型和JSF事件模型,包括支持可添加书签的页面以及POST、REDIRECT、GET模式。...