JavaWeb:EL & JSTL
EL:全名为 Expression Language
1、语法:${sessionScope.user.sex}(从Session 的范围中,取得用户的性别),
所有的EL 都是以 ${ 为起始,以 } 为结尾的。
2、EL 提供 . 和 [ ] 两种运算符来存取数据。
3、EL 变量:EL 存取变量数据的方法很简单,例如:${username} 。它的意思是去除某一范围中名称为 username 的变量,因为我们没有指定哪一范围的 username,所以它的默认值会先从 Page 范围找,假如找不到,再依序到 Request、Session、Application 范围。假如途中找到 username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传 null。
| ${pageScope.username} | 取出 Page 范围的 username 变量 |
| ${requestScope.username} | 取出 Request 范围的 username 变量 |
| ${sessionScope.username} | 取出 Session 范围的 username 变量 |
| ${applicationScope.username} | 取出 Application 范围的 username 变量 |
其中,pageScope、requestScope、sessionScope 和 applicationScope 都是 EL 的隐含对象 。
4、自动转变类型:例如 ${param.count + 20},假如窗体传来 count 的值为10,那么结果就是 30。
5、EL 隐含对象:
》与范围有关的隐含对象:requestScope、sessionScope、pageScope、 applicationScope(这四个相当于 getAttribute(String name))
》与输入有关的隐含对象:param(回传String 类型的值,相当于 request.getParameter(String name))、
paramValue(回传String[ ] 类型的值,相当于 request.getParameterValues(String name))
》其他的隐含对象:pageConext(表示此 JSP 的 PageContext)
6、EL 的关系运算符:
| 关系运算符 | 说 明 | 范 例 | 结 果 |
| = = 或 eq | 等于 | ${ 5 = = 5 } 或 ${ 5 eq 5 } | true |
| != 或 ne | 不等于 | ${ 5 != 5 } 或 ${ 5 ne 5 } | false |
| < 或 lt | 小于 | ${ 3 < 5 }或 ${ 3 lt 5 } | true |
| > 或 gt | 大于 | ${ 3 > 5 }或 ${ 3 gt 5 } | false |
| <= 或 le | 小于等于 | ${ 3 <= 5 }或 ${ 3 le 5 } | true |
| >= 或 ge | 大于等于 | ${ 3 >= 5 }或 ${ 3 ge 5 } | false |
| 注意 |
| 在使用 EL 关系运算符时,不能够写成: ${param.password1} = = ${param.password2} 或者 ${ ${param.password1 } = = ${ param.password2 } } 而应写成 ${ param.password1 = = param.password2 } |
7、Empty 运算符:主要用来判断值是否为 null 或空的 ,例如 ${ empty param.name }
条件运算符:${ A ? B : C}
括号运算符:主要用来改变执行的优先权,例如:${ A * (B+C) }
JSTL:全名为JavaServer Pages Standard Tag Library (JSP 标准标签函数库)
核心标签库 c。JSTL 也支持 EL 语法 ,例如 <c:out value="${userList.user.phoneNumber}" /> 。在 JSP 中要使用 JSTL 中的核心标签库时,必须使用<%@ taglib %>指令,并且设定 prefix 和uri 的值,通常设定如下:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
操作:
1)、c:out 主要用于对特殊字符进行转换。真正进行输出时,最好使用 c:out。
2)、c:set 可以为域赋属性值。而对域对象中的 JavaBean 的属性赋值用的并不多。
3)、c:remove 移除指定域对象的指定属性值(较少使用,即便移除也是在 Servlet 中完成)
4)、c:if 在页面上对现实的内容进行过滤,把结果存储到域对象的属性中,但不灵活,会被其他自定义标签所取代。
5)、c:choose、c:when、c:otherwise 作用同上。但麻烦,不灵活。
6)、c:forEach 对集合进行遍历的(常用)
7)、c:forTokens 处理字符串,类似于 String 类的 split() 方法。(知道即可)
8)、c:import 导入页面到当前页面的。(了解)
9)、c:redirect 当前页面进行重定向的。(使用较少)
10)、c:url 产生一个URL 的, 可以进行URL 重写,变量值编码。(较为常用)
over。
JavaWeb:EL & JSTL的更多相关文章
- JavaWeb基础—EL表达式与JSTL标签库
EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一 ...
- JavaWeb 后端 <六> 之 EL & JSTL 学习笔记
一.EL表达式(特别重要)
- JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)
JSTL JSTL简单介绍: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用: 提供给Java Web开发者一个标准通用的标签函数库 和E ...
- 转:el表达式获取map对象的内容 & js中使用el表达式 & js 中使用jstl 实现 session.removeattribute
原文链接: ①EL表达式取Map,List值的总结 ②在jsp中使用el表达式通过键获得后台的一个map<Long,String>的值 ③在javascript中使用el表达式(有图有真相 ...
- Unit05: WEB项目的开发模式 、转发 和 Unit09: EL、JSTL
Unit05: WEB项目的开发模式 .转发 和 Unit09: EL.JSTL dao package dao; import java.io.Serializable; import jav ...
- JavaWeb之动态页面技术JSP/EL/JSTL
一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...
- JavaWeb之JSP & EL & JSTL
JSP & EL & JSTL JSP Java Server Page 什么是JSP 从用户角度看,就是一个网页.从程序员角度看,就是一个Java类,它继承Servlet,所以可以说 ...
- JavaWeb 补充(JSP&EL&JSTL)
1. JSP: 1. 指令 2. 注释 3. 内置对象 2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构 JSP: 1. 指令 * 作用:用于 ...
- 超全面的JavaWeb笔记day13<JSTL&自定义标签>
1.JSTL标签库(重点) core out set remove url if choose when otherwise forEach fmt formatDate formatNumber 2 ...
随机推荐
- MapReduce常见算法
1.单词计数 2.数据去重 3.排序 4.Top K(求数据中的最大值) 5.选择 6.投影 7.分组 8.多表连接 9.单表关联
- 格式化一个文件的大小(size),或者说是格式化一个app的大小(size)
long number = 6243161; Formatter.formatFileSize(context, number): 需要导包,import android.text.format.Fo ...
- 配置F5 负载均衡(转)
转自<网络运维与管理>201406-11 配置F5交换机的问题在于,与平时所学的交换机.路由器思路完全不同,拿到设备后,完全不知如何下手. 网络拓扑图如下: 两台web服务器对外提供服务, ...
- C# 经典入门12章-使用泛型-1
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8sAAAK5CAIAAAAHDiuGAAAgAElEQVR4nOyd9V9Uzfv/v3/J0t0N0p
- Zigbee协议栈OSAL层API函数【转载】
OSAL层提供了很多的API来对整个的协议栈进行管理.主要有下面的几类:信息管理.任务同步.时间管理.中断管理.任务管理.内存管理.电源管理以及非易失存储管理.看到这些管理是不是感 ...
- 利用dokan作虚拟磁盘开发
dokan是用户态的文件系统驱动,可以称之为fuse for windows.可以用来开发虚拟磁盘,即在“我的电脑”中虚拟出一个硬盘来,可以是硬盘,也可以是可移动磁盘或者网络硬盘. CreateFil ...
- HDU 4006 The kth great number 优先队列、平衡树模板题(SBT)
The kth great number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Oth ...
- sdf SimpleDateFormat 不是线程安全的,
我经常用一个public static SimpleDateFormat sdf; 今天发现报“java.lang.NumberFormatException: multiple points”的异常 ...
- STM8单片机启动流程彻底探究--基于IAR开发环境
初学STM8会发现,STM8官方的固件库并没有提供一个.s文件的启动代码,那么她是如何启动然后跳转到main函数执行的呢 首先,我们根据ARM的只是可以推测,STM8也是通过复位向量来启动的,假设流程 ...
- HDU 3265 Posters
矩形面积并,一个拆成四个 #include<cstdio> #include<cstring> #include<cmath> #include<map> ...