JSP/Servlet Web 学习笔记 DaySix —— EL表达式
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
例如:
2+3+4+(5+6)/(6*2)=${2+3+4+(5+6)/(6*2)}
输出结果:
2+3+4+(5+6)/(6*2)=9.92
2.关系运算符:== or eq 、 != or ne 、< or lt 、> or gt 、<= or le 、 >= or ge。
例如:
3=4 ? result: ${3==4}
输出结果为:
3=4 ? result: false
3.逻辑运算符: && 、|| 、!
4.验证运算符: empty 、 ?
empty作为前缀,用来检索一个值是否为null或者empty。
?的格式为 ${条件?truevalue:falsevalue}
若条件满足,则返回truevalue否则falsevalue,value值可自定。
${empty user.name}
${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表达式的更多相关文章
- JSP/Servlet Web 学习笔记 DayOne
JSP概述 1)JSP是一种动态网页技术标准,它是在传统的页面HTML文件中插入Java程序段和JSP标记(tag),从而形成JSP文件(*.jsp),也称JSP页面. 2)JSP容器是一个支持JSP ...
- JSP/Servlet Web 学习笔记 DayFour
Servlet概述 Servelt是使用Java Servlet应用程序接口及相关类和方法的Java程序. Servlet是用Java编写的Server端程序,它与协议和平台无关.Servlet运行于 ...
- JSP/Servlet Web 学习笔记 DayThree
JSP内置对象 使用JSP语法可以存取这些内置对象来执行JSP网页的Servlet环境相互作用.内置对象其实是由特定的Java类所产生的.每一种内置对象都映射到一个特定的Java类或者端口,在服务器运 ...
- JSP/Servlet Web 学习笔记 DayTwo
JSP指令 a)page指令 定义JSP文件中的全局属性.一个JSP页面可以包含多个page指令.除了Import以外,其他page指令定义的属性/值只能出现一次. 其详细语法为: <%page ...
- JSP/Servlet Web 学习笔记 DayFive
ServletConfig <只对当前Servlet有效> (1)在Web容器初始化Servlet实例时,都会为这个Servlet准备一个唯一的ServletConfig实例(俗称Serv ...
- JSP/Servlet Web 学习笔记 DayThree —— 实现一个登陆小界面
项目说明 利用JSP.HTML.JS实现了一个简易的登陆系统.根据前两天的所学,实现了如下功能: a)用户名.密码验证(不基于数据库,只做一个简单的表单数据获取并验证) b)页面访问次数统计 c)验证 ...
- Java Web学习笔记之---EL和JSTL
Java Web学习笔记之---EL和JSTL (一)EL (1)EL作用 Expression Language(表达式语言),目的是代替JSP页面中复杂的代码 (2)EL表达式 ${变量名} ( ...
- JavaWeb学习笔记--4.EL表达式
四. 表达式语言(相当于对JSP中对象输出的简化,功能实质上类似) 转自ZHSJUN的博客 http://blog.csdn.net/zhsjun/article/details/2254546 表达 ...
- Javaweb学习笔记6—EL表达式与JSTL及自定义标签
今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...
随机推荐
- ADO.NET 参数化查询
参数化查询 使用参数化查询的情景有很多,但最常用的情景是需要用户在查询中进行输入的情况. 有两种方法可供使用.第一,可以讲用户输入嵌入到查询字符串中,例如可能使用.NET Framework中的Str ...
- 记录一个NPE问题
昨天在做公司项目时,我在一处地方加了一个逻辑校验,之后测了下发现在方法调用深处有一处NPE,来源于另一个同事的代码. 其实NPE本应该是个Java编程中老掉牙的问题,但我觉得这一处错误还是比较典型的, ...
- 点击按钮,缩放图片(img.width、img.style.width、img.offsetWidth)
前几天在慕课网上看到一个关于图片缩放的教学视频,因为当时对老师使用img.width,而不是使用img.style.width而感到奇怪,所以周末得空了,想来自己试着写出来,相关视频网址如下:http ...
- Unity 总裁 John Riccitiello 发话:VR足以匹敌互联网
在2017年Vision Summit大会的开幕演讲中,Unity首席执行官John Riccitiello向观众通报了开发人员如何利用Oculus,HTC等品牌创造的机遇来打造虚拟现实(VR)行业, ...
- input file图片上传预览效果
两种方法,方法一: js代码: //头像上传预览 $("#up").change(function() { var $file = $(this); var fileObj = $ ...
- TCP/IP协议精华笔记
1.简介 TCP/IP协议并非单指TCP协议.IP协议,它是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议.ICMP(Internet Control Mes ...
- java文件创建和删除
流的操作在项目开发中用的很普遍,虽然每次在网上都可以百度到,但是总感觉心里不踏实,对此,关于流的操作做一个详细的总结--- 1.根据数据的流向来分:输出流:是用来写数据的,是由程序(内存)---> ...
- innobackup全备与恢复
前提:xtrabackup.mysql安装完成,建立测试库reading.测试表test,并插入三条数据. 1.全备: innobackupex --user=root --password ...
- Oracle的instr函数
instr函数 instr(目标字符串,被匹配的字符串,搜索的开始位置默认是1,第几次被搜索到) 例子1: SQL> select ename,instr(ename,'L',1,1) from ...
- java虚拟机--jvm client模式与server模式的区别
JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升.JVM如果不显式指定是-Server模式还是-clien ...