EL作用
jsp
的核心语法:jsp
表达式<%=%>
和 jsp
脚本<% %>
。
以后开发jsp
的原则: 尽量在jsp
页面中少写甚至不写java
代码。
使用EL表达式替换掉jsp表达式
EL
表达式作用: 向浏览器输出域对象中的变量值或表达式计算的结果。
语法: ${变量或表达式}
EL语法
- 输出基本数据类型变量
- 从四个域获取
${name}
- 指定域获取
${pageScope.name}
- 域范围: pageScoep / requestScope / sessionScope / applicationScope
- 输出对象的属性值
Student
- 输出集合对象
List 和 Map
- EL表达式计算
jsp标签
jsp标签的作用
jsp
标签作用:替换jsp脚本。
- 流程判断(
if for
循环) - 跳转页面(转发,重定向)
Jsp标签分类
- 内置标签(动作标签): 不需要在
jsp
页面导入标签 -
jstl
标签: 需要在jsp
页面中导入标签 - 自定义标签 : 开发者自行定义,需要在
jsp
页面导入标签。
动作标签
转发标签: <jsp:forward />
参数标签: <jsp:pararm/>
包含标签: <jsp:include/>
- 原理: 包含与被包含的页面先各自翻译成java源文件,然后再运行时合并在一起。
(先翻译再合并),动态包含
静态包含 vs 动态包含的区别?
- 语法不同
- 静态包含语法: <%@inclue file="被包含的页面"%>
- 动态包含语法: <jsp:include page="被包含的页面">
- 参数传递不同
- 静态包含不能向被包含页面传递参数
- 动态包含可以向被包含页面传递参数
- 原理不同
- 静态包含: 先合并再翻译
- 动态包含: 先翻译再合并
JSTL标签
JSTL
(全名:java standard tag libarary - java标准标签库 )
- 核心标签库 (
c
标签库) 常用 - 国际化标签(
fmt
标签库) -
EL
函数库(fn
函数库) -
xml
标签库(x
标签库) -
sql
标签库(sql
标签库)
使用JSTL标签步骤
- 导入
jstl
支持的jar
包(标签背后隐藏的java
代码)
注意:使用javaee5.0
的项目自动导入jstl支持jar包 - 使用
taglib
指令导入标签库<%@taglib uri="tld文件的uri名称" prefix="简写" %>
- 在jsp中使用标签
核心标签库的重点标签:
- 保存数据:
<c:set></c:set>
- 获取数据:
<c:out value=""></c:out>
- 单条件判断
<c:if test=""></c:if>
- 多条件判断
<c:choose></c:choose>
<c:when test=""></c:when>
<c:otherwise></c:otherwise>```
- 循环数据
<c:forEach></c:forEach>
<c:forTokens items="" delims=""></c:forTokens>```
- 重定向
<c:redirect></c:redirect>