EL表达式: 基本用法:${表达式} 示例:${student.name} 作用域对象:EL表达式内置四种作用域对象 pageScope:从当前页面取值 requestScope:从当前请求中获取属性值 sessionScope:从当前会话中获取属性值 applicationScope:从当前应用获取全局属性值 EL表达式输出: ${title} ${requestScope.student.name} ${emp.age+10} ${1<=3 && 2>4}(返回boolean值) El输出参数值: EL表达式内置param对象来简化参数的输出 ${param.参数名} JSTL标签库: 作用域对象描述: taglibs-standard-spec-1.2.5.jar 标签库定义包(必须) taglibs-standard-impl-1.2.5.jar 标签库实现包(必须) taglibs-standard-jstlel-1.2.5.jar el表达式支持包(备选) taglibs-standard-compat-1.2.5.jar 1.0版本兼容包(备选) 安装JSTL标签库: 将Jar文件复制到工程的 /WEB-INF/lib 目录 JSTL的标签库种类 共5种 核心标签库 - core 格式化输出标签库 - fmt SQL操作标签库 - sql XML操作标签库 - xml 函数标签库 - functions 引用JSTL核心库 核心标签库(Core)是JSTL最重要的标签库,提供了JSTL的基础功能 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> JSTL核心标签库在taglibs-standard-impl.jar由META-INF/c.tld定义 判断标签 <c:if> - 单分支判断 <c:choose>、<c:when>、<c:otherwise> - 多分支判断 遍历集合 <c:forEach>标签用于遍历集合(Collection)中的每一个对象
<c:set var="tag" value="${0}"/> <c:forEach var="p" items="${persons}" varStatus = "idx">
<c:if test="...">
<c:set var="tag" value="${tag+1}"/> 第${idx.index + 1}位 <br/> 姓名:${p.name} 性别: ${p.sex} 年龄:${p.age}
${tag}:可得到 第几次满足if条件
</c:if> </c:forEach> fmt格式化标签库 fmt格式化标签库 URI:http://java.sun.com/jsp/jstl/fmt <fmt:formatDate value = "" pattern = "" /> 格式化日期标签 <fmt:formatNumber value = "" pattern = ""/> 格式化数字标签 格式化小数 到需要的长度 <fmt:formatNumber type="number" value="${类名.属性}" pattern="0.00" maxFractionDigits="2"/> pattern:设置格式化标准 长度不够用0补 设置为空时则根据maxFractionDigits值进行截取后 不够的不补0 fn:substring() fn:substring()函数返回字符串中指定开始和结束索引的子串。 ${fn:substring(<string>, <beginIndex>, <endIndex>)} 其他方法:https://www.runoob.com/jsp/jsp-jstl.html