目录
一、EL是什么?
1.EL的简介
EL全称:Expression Language。原是JSLT1.0中存取数据的自定义语言,后是jsp2.0的规范之一
特点:语法简单,使用方便。
2.EL的特别之处
- 可与JSTL及JavaScript语句结合使用
- 可自动执行类型转换
- 直接访问JavaScript中的属性
- 可执行运算
- 可获得命名空间(的对象)
- 除0没有异常
- 可访问作用域对象
- 扩展函数可以与Java里的静态方法执行映射
3.EL使用条件
- Web服务器支持servlet2.4/jsp2.0
- EL表达式未禁用
- 正确使用表达式
4.EL存取范围
- 默认从page中找
- 然后依次为——request ——session ——application
- 找到返回值,找不到返回null
5.EL隐含对象
总共11个对象
- 环境信息中的隐含对象 —param,paramValues —header,headerValues —cookie —initParam
- 作用于范围对象 —pageScope —requestScope —sessionScope —applicationScope
二、JSTL
1.标签库
- 核心标签库
- 格式标签库
- SQL标签库
- XML标签库
- 函数标签库
2.核心标签
//输出
<c:out value="表达式" [default="表达式"] [escapeXml="<true|false>"] />
//用于在指定范围内设置变量或属性值
<c:set var="varname" value="表达式" [scope="request|page|session|application"] />
//可以导入其它网站的文件
<c:import url="url" [context="context"]
[var="varname"] [scope="page|request|session|application"]
[charEncoding="charencoding"] [varReader="readerName"] />
//判断逻辑
<c:if test="判断条件" [var="varname"] [scope="request|page|session|application"] >
代码块
</c:if>
//判断逻辑
<c:choose>
<c:when test="表达式1">
// 表达式1为true时执行的代码块
</c:when>
<c:when test="表达式2">
// 表达式2为true时执行的代码块
</c:when>
<c:otherwise>
// 表达式都为false时执行的代码块
</c:otherwise>
</c:choose>
//迭代一个集合中的对象
<c:forEach [var="varname"] [varStatus="varstatusName"]
[begin="开始"] [end="结束"] [step="step"]>
Java程序或HTML代码
</c:forEach>
//标签类似于 Java 中的 split 方法,用于分隔字符串。
<c:forTokens items="字符串" delims="分隔符" [begin="开始"]
[end="结束"] [step="步长"] [var="别名"]
[varStatus="varstatusname"]>