1)EL从scope中得到参数时可以自动转换类型,因此对于类型转换的限制更加宽松。

2)使用EL表达式,可以简化变量和对象的访问。

3)EL表达式必须以  ${XXXX}   来表示。

4)EL提供点(.)和方括号([])两种运算符来存取数据。点和方括号可以实现某种程序的互换。

  例如:${student.name}等价与${student["name"]}

5)如果要动态取值,就可以用[],而.无法做到动态取值。

  例如:${sessionScope.student[data]}中data是一个变量。

6)EL存取变量的方法很简单,例如${username}。它表示在某一范围内取出名字为username的变量。

  因没有指定范围,所以他会依次从page、request、session、application范围查找,找到则返回值,否则就返回null。

7)EL范围查值,需要EL隐含对象的帮助,分别有pageScope(pageContext)、requestScope(request)、sessionScope(session)

  applicationScope(application),括号内时与他们基本相同的JSP元素。

  例如:要在Session中取得一个username的属性值,则可以使用

  session.getAttribute("username")  or  ${sessionScope.username}

8)而request.getParameter(String name)、request.getParameterValues(String name)对应的为

  ${param.name}

  ${paramValues.name}

9)EL操作符

  1.算术运算符:+、—、*、/ or div、% or mod

   例如:

  1. 2+3+4+(5+6)/(6*2)=${2+3+4+(5+6)/(6*2)}
  2.  
  3. 输出结果:
    2+3+4+(5+6)/(6*2)=9.92

  2.关系运算符:== or eq 、 != or ne 、< or lt 、> or gt 、<= or le 、 >= or ge。

  例如:

  1. 3=4 result: ${3==4}
  2.  
  3. 输出结果为:
  4. 3=4 result: false

  3.逻辑运算符: && 、|| 、!

  4.验证运算符: empty 、 ?

  empty作为前缀,用来检索一个值是否为null或者empty。

  ?的格式为  ${条件?truevalue:falsevalue}

  若条件满足,则返回truevalue否则falsevalue,value值可自定。

  1. ${empty user.name}
  2. ${user.name==null? truevalue:falsevalue}

10)EL获取Cookie中的值:${cookie.username}

11)EL获取header(储存用于浏览器和服务器用来沟通的数据):${header["User-Agent"]}

  若同一标头名拥有不同的值,需采用headerValues。

12)EL取得设定Web站点的环境参数(Context):${initParam.userid}

  对应的常用方法:String userid=(String)application.getInitParameter("userid");

13)EL取得其他有关用户要求或页面信息:

  请求参数字符:${pageContext.request.queryString}

  请求URL,不包括请求参数字符串:${pageContext.request.requestURL}

  Web application全名:${pageContext.request.contextPath}

  Http方法(post or get):${pageContext.request.method}

  使用的协议(Http/1.1、Http/1.0):${pageContext.request.protocol}

  用户名称:${pageContext.request.remoteUser}

  用户IP:${pageContext.request.remoteAddr}

  session是否为新:${pageContext.session.new}

  sessionID:${pageContext.session.id}

  主机端服务信息:${pageContext.servletContext.serverInfo}

JSP/Servlet Web 学习笔记 DaySix —— EL表达式的更多相关文章

  1. JSP/Servlet Web 学习笔记 DayOne

    JSP概述 1)JSP是一种动态网页技术标准,它是在传统的页面HTML文件中插入Java程序段和JSP标记(tag),从而形成JSP文件(*.jsp),也称JSP页面. 2)JSP容器是一个支持JSP ...

  2. JSP/Servlet Web 学习笔记 DayFour

    Servlet概述 Servelt是使用Java Servlet应用程序接口及相关类和方法的Java程序. Servlet是用Java编写的Server端程序,它与协议和平台无关.Servlet运行于 ...

  3. JSP/Servlet Web 学习笔记 DayThree

    JSP内置对象 使用JSP语法可以存取这些内置对象来执行JSP网页的Servlet环境相互作用.内置对象其实是由特定的Java类所产生的.每一种内置对象都映射到一个特定的Java类或者端口,在服务器运 ...

  4. JSP/Servlet Web 学习笔记 DayTwo

    JSP指令 a)page指令 定义JSP文件中的全局属性.一个JSP页面可以包含多个page指令.除了Import以外,其他page指令定义的属性/值只能出现一次. 其详细语法为: <%page ...

  5. JSP/Servlet Web 学习笔记 DayFive

    ServletConfig <只对当前Servlet有效> (1)在Web容器初始化Servlet实例时,都会为这个Servlet准备一个唯一的ServletConfig实例(俗称Serv ...

  6. JSP/Servlet Web 学习笔记 DayThree —— 实现一个登陆小界面

    项目说明 利用JSP.HTML.JS实现了一个简易的登陆系统.根据前两天的所学,实现了如下功能: a)用户名.密码验证(不基于数据库,只做一个简单的表单数据获取并验证) b)页面访问次数统计 c)验证 ...

  7. Java Web学习笔记之---EL和JSTL

    Java Web学习笔记之---EL和JSTL (一)EL (1)EL作用 Expression  Language(表达式语言),目的是代替JSP页面中复杂的代码 (2)EL表达式 ${变量名} ( ...

  8. JavaWeb学习笔记--4.EL表达式

    四. 表达式语言(相当于对JSP中对象输出的简化,功能实质上类似) 转自ZHSJUN的博客 http://blog.csdn.net/zhsjun/article/details/2254546 表达 ...

  9. Javaweb学习笔记6—EL表达式与JSTL及自定义标签

    今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...

随机推荐

  1. mapTask并行度优化及源码分析

    mapTask并行度的决定机制 一个job的map阶段并行度由客户端在提交job时决定,而客户端对map阶段并行度的规划的基本逻辑为:将待处理数据执行逻辑切片(即按照一个特定切片大小,将待处理数据划分 ...

  2. angular 实现导航ng-click切换

    angular写的导航.自学angular已有一段时间. <!doctype html><html lang="en"><head> <m ...

  3. Hibernate考试试题(部分题库)含答案

    Hibernate考试试题 (题库) 1.  在Hibernate中,下列说法正确的有( ABC ).[选三项] A.Hibernate是一个开放源代码的对象关系映射框架 B.Hibernate对JD ...

  4. python自动化测试应用-第6篇(WEB测试)--Selenium元素篇

    篇6                            python自动化测试应用-Selenium基础篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),上一篇我们搭建好p ...

  5. sass学习入门篇(三)

    这章我们讲“嵌套”,嵌套包括两种:一,选择器嵌套.二是属性的嵌套.一般用选择器嵌套居多 一,选择器嵌套:指的是在一个选择器中嵌套另一个选择器来实现继承.使用&表示父元素选择器 li{ floa ...

  6. python自动化开发-[第一天]-基础数据类型与编码

    1.Python与其他语言对比 - C语言的解释方式  代码-->机器码-->计算机 - python,java,php等高级语言的解释方式  代码-->字节码-->机器码-- ...

  7. 如何使用python生成xml

    最近要用python生成一个xml格式的文件.因为有一些内容是中文,原来的xml文件中使用了CDATA 的部分. 而之前的python程序所用的库中没有 创建这个区域的方法.无奈研究了大半天. 最后用 ...

  8. Linux学习之要点必备

    在本节课中我将会带领大家秒懂linux命令 要点一:常见基本命令格式 命令名称+选项+参数 例如:#mkdir -r /var/ruofeng/001/ 我们通过逐级创建目录方式解释这个例子,mkdi ...

  9. 微信小程序之获取当前位置经纬度以及地图显示

    最近刚开始接触微信小程序,在弄懂其结构以及相关接口之后,准备着手实现一个小程序,功能包括--获取用户当前位置的经纬度,在地图上查看位置,通过地图获取不同位置的经纬度. 微信小程序的主体部分包括: 新增 ...

  10. 关于cisco ccp 或sdm管理gns3中思科路由器的成功分享

    本来工作环境中有一台c1841,闲来无事,升级了最新的IOS=c1841-adventerprisek9-mz.151-4.M6.bin,在xp虚拟机中安装sdm(新windows系统不支持)和在wi ...