EL表达式
(1)什么Expression Language 表达式语⾔
最初定义于JSTL1.0部分
在JSP2.0中,EL从JSTL中剥离出来,放置在JSP规范中,称为JSP2.0规范的⼀部分
在JSP中使⽤EL表达式,可以简化对象和变量的访问是EL表达式
(2)EL表达式语法
语法格式:${需要展示信息的名字}
注意:
当表达式没有指定变量或者对象的范围时,
那么容器会依次从pageContext—>request—>session—>application中查找该变量或对象,我们可以
通过隐含对象获得指定作⽤域的值:
pageScope对象,⽤于获取当前⻚⾯的属性值
requestScope对象,⽤于获取请求范围的属性值
sessionScope对象,⽤于获取会话范围的属性值
applicationScope对象,⽤于获取程序范围的属性值
语法:
${requestScope.key}
(3)EL中基础操作符

示例:
单个变量:${a+10}<br>
单个变量:${s}<br>
单个对象:${key.属性名}
//对象类型
Users u=new Users();
u.setName("王⽼五");
u.setPass("abc");
pageContext.setAttribute("u1",u);
user.name=${u1.name}
user.pass=${u1.pass}
// list集合对象:
List list=new ArrayList();
list.add("刘能");
list.add(30);
list.add(u);
pageContext.setAttribute("list2",list);
list1=${list2[0]}<br/>
list2=${list2[1]}<br/>
list3=${list2[2].pass}<br/>
// map集合:
k1=${map1.k1}<br>
k2=${map1.k2.username}--- ${map1.k2.password}
判断变量是否有值或是否存在:${empty key值}
List list2=new ArrayList();
list2.add("aa");
request.setAttribute("list222",list2);
判断list中是否有数据:${empty list222}
JSTL
(1) 什么是JSTL
JSP标准标签库(JSTL)是⼀个JSP标签集合,它封装了JSP应⽤的通⽤核⼼功能。
JSTL⽀持通⽤的、结构化的任务,⽐如迭代,条件判断,XML⽂档操作,国际化标签,SQL标签。 除了这些,它还提供了⼀个框架来使⽤集成JSTL的⾃定义标签。
根据JSTL标签所提供的功能,可以将其分为5个类别。核⼼标签 格式化标签 sql标签 xml标签 jstl函数
(2) JSTL的作⽤和语法格式
作⽤:简化jsp⻚⾯编写代码
语法格式:
1.maven导入jar包
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
- 在JSP⻚⾯中引⼊<%@ taglib prefix=”⻚⾯使⽤的名称” uri=”功能范围的路径”%>

(3) 核⼼标签
①核⼼标签是最常⽤的 JSTL标签。引⽤核⼼标签库的语法如下:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
② 核⼼标签的分类
表达式操作 out、set、remove、catch
流程控制 if、choose、when、otherwise
迭代操作 forEach、forTokens
URL操作 import、param、url、redirect
Set标签
<c:set> 主要⽤来将变量存储⾄JSP范围中 或是JavaBean的属性或Map对象中

<c:out>主要⽤来显示数据的内容

<c:remove> 主要负责移除变量

<c:if> 主要⽤于进⾏if判断,如果为true,则输出标签体中的内容

<c:choose>,<c:when>,<c:otherwise> 作⽤相当于if-else

<c:forEach> 循环控制,它可以将数组,集合(Collection)中的成员循序浏览⼀遍。

(4)格式化标签
1、fmt:formatDate 作⽤:将⽇期类型格式化为指定模式的字符串
属性
value:将要被格式化的数据
pattern:格式化的模式,与SimpleDateFormat的参数设置⼀样
var:格式化后的字符串所要存放的变量,若不指定var,则会将格式化的结果直接显示在⻚⾯
scope:变量存放的域属性空间,默认page
type:其取值为date、time、both,表示给出的value是⽇期、时间、还是两者都包含,默认是date
2、fmt:parseDate 作⽤:⽤于将指定字符串转化为⽇期类型
<fmt:parseDate value="${now }" pattern=“yyyy-MM-dd” var=“today”/>
Value服务器获取的时间
Pattern:转换的格式
Var:⻚⾯显示的变量
3、fmt:formatNumber 按照指定格式对数字进⾏格式化
属性
maxIntegerDigits:整数部分最多的位数
minIntegerDigits:整数部分最少的位数
maxFrctionDigits:⼩数部分最多的位数
minFrctionDigits:⼩数部分最少的位数
var:存储格式化结果的变量
scope:var属性的作⽤域
integerOnly:是否只解析整型数true或者浮点数false
361

被折叠的 条评论
为什么被折叠?



