概念 它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简单
作用 替换<%=...%>
语法 ${表达式}
获取域中的数据
${pageScope|requestScope|sessionScope|applicationScope.属性名}
获取复杂的数据
1.获取域中的数组中的值
${数组属性名[index]}
2.获取域中list中的值
${list属性名[index]}
3.获取域中map中的值
${map对象.键}
4.获取javabean中的数据
${javabean对象.bean属性}
特殊运算
1.empty:是否为null或者空 : empty obj
2.not empty : 不为null或者不为空 : not empty obj
把作用域中的对象映射为一个map对象
pageScope
requestScope
sessionScope
applicationScope
1.param
表示一个保存了所有请求参数的Map对象
2.paramValues
表示一个保存了所有请求参数的Map对象,
它对于某个请求参数,返回的是一个string[]
3.header
表示一个保存了所有http请求头字段的Map对象
4.headerValues
表示一个保存了所有http请求头字段的Map对象,它对于某个请求参数,返回的是一个string[]
5.initParam
表示一个保存了所有web应用(上下文管理者)的初始化参数的map对象
6.cookie
表示一个保存了所有cookie的Map对象
7.pageContext
对应于JSP页面中的pageContext对象
${pageContext.request.contextPath}:在jsp页面中动态的获取项目路径
JSTL标签
概念
是一个不断完善的开放源代码的JSP标签库,是由apache来维护的。
作用
减少页面JAVA代码量 让结构更加清晰
使用步骤
1.导入jar包
2.在页面上导入标签库
<%@taglib prefix="" uri=""%>
prefix:前缀
uri:需要的库
jstl分类
1.core
c:if
c:forEach
<c:forEach begin="开始的值" end="结束的值" step="步长" var="给当前的这个值起个名称">
${变量名称 }
</c:forEach>
<c:forEach items="需要遍历的元素" var="每一个起个别名" [varStatus="vs"]>
循环后的数据
</c:forEach>
varStatus:记录循环的状态
取值:
count:计数
index:索引
遍历list
<c:forEach items="${list}" var="s" varStatus="vs">
第${vs.count }个元素为:${s },他的索引为:${vs.index }<br>
</c:forEach>
遍历map
<c:forEach items="${map}" var="en">
${en.key }--${en.value }<br>
</c:forEach>
2.fmt
国际化(格式化)
3.sql
4.xml
5.function 函数库
开发模式
1.jsp+javabean
javabean:封装数据,编写业务逻辑
jsp:接受请求,找到合适的javabean处理请求,展示信息
2.jsp+javabean+servlet
mvc
javabean:封装数据,编写业务逻辑
展示信息
servlet:接受请求,找到合适的javabean处理请求,找到合适jsp展示信息