JavaWeb:EL表达式
JavaWeb:EL表达式
说明
1.Expression Language语言,一种用于JSP文件中的数据访问的语言。
2.能够简化JSP文件中该数据访问的代码,可用来替代传统的基于<%= %>和部分<% %>的程序片段。
3.EL表达式使得JSP文件的创建人员能够用更加简单的语法来访问数据。
4.基本形式为: ${var}
EL运算符 (来自孤傲苍狼)
1、关系运算符

2、逻辑运算符:
3、empty运算符:检查对象是否为null(空)
4、二元表达式:${user!=null?user.name :""}
关于隐含对象
EL语言中定义了11个隐含对象,它们都是java.util.Map类型,网页制作者可以方便来快捷地访问Web应用中的特定数据。
| 序号 | 隐含对象名称 | 描 述 |
| 1 | pageContext | 对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。) |
| 2 | pageScope | 代表page域中用于保存属性的Map对象 |
| 3 | requestScope | 代表request域中用于保存属性的Map对象 |
| 4 | sessionScope | 代表session域中用于保存属性的Map对象 |
| 5 | applicationScope | 代表application域中用于保存属性的Map对象 |
| 6 | param | 表示一个保存了所有请求参数的Map对象 |
| 7 | paramValues | 表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[] |
| 8 | header | 表示一个保存了所有http请求头字段的Map对象,注意:如果头里面有“-” ,例Accept-Encoding,则要header[“Accept-Encoding”] |
| 9 | headerValues | 表示一个保存了所有http请求头字段的Map对象,它对于某个请求参数,返回的是一个string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”] |
| 10 | cookie | 表示一个保存了所有cookie的Map对象 |
| 11 | initParam | 表示一个保存了所有web应用初始化参数的map对象 |
说明
这11个隐含对象可以分为4种类型:
→ 表示HTTP请求中的特定数据:
⇒ ${header["user-agent"] } <=⇒ <%=request.getHeader("user-agent")%>
⇒ ${header.host} <=⇒ <%=request.getHeader("host")%>
⇒ ${cookie.username.value}<=⇒ 调用名为username的Cookie对象的getValue()方法
⇒ ${param.username}<=⇒ <%=request.getParam("username")%>
→ 表示特定范围
⇒ ${sessionScope.cart.total}<=⇒ 等价与 调用会话范围内的属性名为 cart的ShoppingCart对象的getTotal()方法
⇒ ${applicationScope.counter.count} <=⇒ 等价与 调用Web范围内的属性名为counter的CounterBean对象的getCount()方法
→ 表示PageContext对象
⇒ ${pageContext.servletContext.serverInfo} <=⇒ 等价与 <%=application.getServerInfo()%>
⇒ ${pageContext.request.requestURL}<=⇒ 等价与 <%=request.getRequestURL()%>
⇒ ${pageContext.response.characterEncoding} <===>等价与 <%=response.getCharacterEncoding()%>
⇒ ${pageContext.session.creationTime} <===>等价与 <%=session.getCreationTime()%>
→ 表示Web应用的初始化参数集合
⇒ ${initParam.driver} <===>等价与 <%=application.getInitParamter("driver")%>
说明:
属性的访问中,可以用 . 或者[]来访问对象的属性及数组的元素,对于属性中有 - 或 空格 等特殊字符的只能用[]。
命名变量
说明:
命名变量不是局部变量或者实例变量,它是存放在特定范围内的属性,命名变量的名字和属性名字对应。
如果范围内不存在username属性,那么不会打印任何结果。

创建
命名变量的创建就是创建属性,如下:
<%
pageContext.setAttribute("username","fuck");
%>
JavaWeb:EL表达式的更多相关文章
- JavaWeb EL表达式 key为数值 Map取不到值
JavaWeb EL表达式 key为 Map取不到值 因为JSTL会把Integer,Byte,Short,Charactor都转成Long,这样就取不到值. 参见StackOverFlow的回答 ...
- javaWeb el表达式和jstl快速入门案例
<%@page import="de.bvb.domain.Person"%> <%@page import="de.bvb.domain.Addres ...
- EL表达式 EL函数 自定义el函数 《黑马程序员_超全面的JavaWeb视频教程vedio》
\JavaWeb视频教程_day12_自定义标签JSTL标签库,java web之设计模式\day12_avi\12.EL入门.avi; EL表达式 1. EL是JSP内置的表达式语言! * jsp2 ...
- JavaWeb基础—EL表达式与JSTL标签库
EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一 ...
- 超全面的JavaWeb笔记day12<Jsp&JavaBean&El表达式>
1.JSP三大指令 page include taglib 2.9个内置对象 out page pageContext request response session application exc ...
- JavaWeb学习笔记(八)—— EL表达式
一.EL表达式概述 在JSP开发中,为了获取Servlet域对象中存储的数据,经常需要书写很多Java代码,这样的做法会使JSP页面混乱,难以维护.为此,在JSP2.0规范中提供了EL表达式.EL全名 ...
- Javaweb学习笔记6—EL表达式与JSTL及自定义标签
今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...
- JavaWeb(七):EL表达式、自定义标签和JSTL
一.EL表达式 语法 el.jsp <%@page import="java.util.Date"%> <%@page import="com.atgu ...
- 【JavaWeb】EL表达式&过滤器&监听器
EL表达式和JSTL EL表达式 EL表达式概述 基本概念 EL表达式,全称是Expression Language.意为表达式语言.它是Servlet规范中的一部分,是JSP2.0规范加入的内容.其 ...
随机推荐
- 书中的银行,我们一起奋斗的C#,只因乐在其中~
梦回C#,只因心中还留有那么一点执着,相信大家应该也有这些感触吧!!所以呢?我想给大伙分享我的一些学习,也希望大家能给我多点建议,让我们一起进步,共同成长!!! 那么我们就来看一下该怎么运 ...
- JAVA 笔试笔记
1.java优缺点 优点 :纯面对对象,跨平台,提供很多内置的类库,支持web开发,有较好的健壮性和安全性缺点 : 速度慢,跨平台不能像其他的语言一样接近操作系统,复杂 2.java与c/c++ 都是 ...
- MySQL查询和删除重复数据
删除表中重复记录,只保留一条: delete from 表名 where 字段ID in (select * from (select max(字段ID) from 表名 group by 重复的字段 ...
- WCF 程序入门
WCF是微软公司推出的符合SOA思想的分布式应用程序技术框架和编程模型,是建立在消息通信这一概念基础上运行的一个运行时服务系统. WCF编程模型的目标是实现以下两个实体之间的通信:WCF服务端和WCF ...
- 完善ecshop的mysql类
前篇文章中,我提及到了如何<提取ecshop的mysql类>.但是没有数据库前缀的写法 废话不说,上步骤(目录结构请参考提取ecshop的mysql类) 修改connfig.php为 &l ...
- .net 下新版highcharts本地导出图片bug处理
最近公司要用到highcharts这个插件来生成图表,所以我花了点时间研究了下. 现在最新的版本是3.0.2,这js插件居多优点就不比多说了,demo官网上也很详细.但是优点不爽的地方是,导出图片这个 ...
- Java实现文件在某个目录的检索
package com.filetest; import java.io.File; import java.util.Date; import java.util.Scanner; public c ...
- ABP理论学习之EntityFramework集成
返回总目录 本篇目录 Nuget包 创建DbContext 仓储 仓储基类 实现仓储 自定义仓储方法 阅读其他 ABP可以使用任何ORM框架工作,并且已经内置了EntityFramework集成.这篇 ...
- 打造程序员的高效生产力工具-mac篇
打造程序员的高效生产力工具-mac篇 1 概述 古语有云:“工欲善其事,必先利其器” [1] ,作为一个程序员,他最重要的生产资源是脑力知识,最重要的生产工具是什么?电脑. 在进行重要的脑力成果输 ...
- 自己动手写一个简单的MVC框架(第二版)
一.ASP.NET MVC核心机制回顾 在ASP.NET MVC中,最核心的当属“路由系统”,而路由系统的核心则源于一个强大的System.Web.Routing.dll组件. 在这个System.W ...