JSTL
1.概念
①. JavaServer Pages Tag Library JSP标准标签库
②. 是由Apache组织提供的开源的免费的jsp标签 <标签>
③. 作用:用于简化和替换jsp页面上的java代码
2. 使用步骤
3. 四大库
①. core:核心标签库 重点
②. fmt:格式化标签库:日期、数字
③. sql:过时
④. xml:过时
4. core核心库
1>.out和set
①. <c:out>:输出[几乎不用]
②. <c:set>:创建域的属性
<c:set var="a" value="hello" scope="page"></c:set> <c:out value="${a}"></c:out> //输出hello
2>. c:if
<c:if test="${条件}"> : 当条件为true时执行标签体内容
<!-- 在page域中创建了a变量 --> <c:set var="a" value="hello" /> <!-- a变量不为空,没有指明域,表示全域 --> <c:if test="${not empty a}"> <c:out value="${a}" /> ${a} </c:if>
3>. c:choose
<% request.setAttribute("score",80); %> <c:choose> <c:when test="${score > 100 || score < 0}">错误的分数:${score }</c:when> <c:when test="${score >= 90 }">A级</c:when> <c:when test="${score >= 80 }">B级</c:when> <c:when test="${score >= 70 }">C级</c:when> <c:when test="${score >= 60 }">D级</c:when> <c:otherwise>E级</c:otherwise> </c:choose>
4>. forEach
①. 它还可以用来计数方式来循环!
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:forEach var="i" begin="1" end="10"> ${i} </c:forEach>
②. 用来输出数组、集合!(掌握)
//循环数组 <c:forEach items="${strs }" var="str"> ${str }<br/> </c:forEach> //循环集合 <% ArrayList<String>list=new ArrayList<String>(); list.add("一"); list.add("二"); list.add("三"); pageContext.setAttribute("list", list); %> <c:forEach item="${list}" var="ele"> ${ele} </c:forEach>
5>. fmt库:它是格式化库
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <% Date date = new Date(); request.setAttribute("date", date); %> <fmt:formatDate value="${requestScope.date }" pattern="yyyy-MM-dd HH:mm:ss"/> <hr/> <% request.setAttribute("num1", 3.1); %> <%--保留小数点后2位,它会四舍五入!如果不足2位,以0补位--%> <%--输出结果是: 3.10--%> <fmt:formatNumber value="${requestScope.num1 }" pattern="0.00"/><br/> <%--保留小数点后2位,它会四舍五入!如果不足2位,不补位--%> <%--输出结果是: 3.1--%> <fmt:formatNumber value="${requestScope.num1 }" pattern="#.##"/>