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>