<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>jstl表达式的使用</title>
</head>
<body>
<%--声明变量并赋值的标签--%>
<c:set var="sname" value="张三" scope="request"></c:set>
<%--输出标签--%>
<c:out value="${sname}"></c:out>
<h1>用el取出的值:${sname}</h1>
<%--删除变量的值的标签--%>
<c:remove var="sname"></c:remove>
<h2>删除后的值:<c:out value="${sname}"></c:out></h2>
<%--if选择标签--%>
<c:if test="${1>2}">
<%-- test用来写条件--%>
<h1>1小于2</h1>
</c:if>
<%--choose相当于java中的多重if结构--%>
<c:set var="score" value="59"></c:set>
<c:choose>
<%-- 既可以作等值判断又可以作范围判断,里面可以直接写html代码--%>
<c:when test="${score>=90}">优秀</c:when>
<c:when test="${score>=80}">良好</c:when>
<c:when test="${score>=60}">及格</c:when>
<c:otherwise>不及格</c:otherwise>
</c:choose>
<%--step表示的是每次执行完后的动作,相当于num+=3,step是叠加值 --%>
<c:forEach var="num" begin="1" end="100" step="3" varStatus="status">
${num}
${status.index}
</c:forEach>
<%--foreach循环使用--%>
<%
List<String> name = new ArrayList();
name.add("张三");
name.add("李四");
name.add("王五");
request.setAttribute("stuName", name);
%>
<h1>
<%-- 指代当前遍历的元素,items表示遍历的集合或数组,varStatus表示状态,单次循环,就为了调索引--%>
<c:forEach var="stu" items="${stuName}" varStatus="statu">
<%-- jstl能直接写html代码--%>
索引:${statu.index} - 当前遍历的元素的值:${stu}<br/>
</c:forEach>
</h1>
<%--函数标签的库相当于java中String类常用方法--%>
<h2>${fn:contains("我是中国人","中国" )}</h2
<h2>长度:${fn:length("jfaojfong")}</h2>
<h2>是否相等:${"abc" eq "abc"}</h2>
<h2>是否相等:${"abc" == "aBc"}</h2>
<%--格式化标签库--%>
<%
Date today = new Date();
request.setAttribute("time", today);
%>
<h1>时间格式化:<fmt:formatDate value="${time}" pattern="yyy-MM-dd HH:mm:ss"></fmt:formatDate></h1>
<%--保留两位小数,并四舍五入--%>
<h2>数字格式化:<fmt:formatNumber value="3.1465926" pattern="0.00"></fmt:formatNumber></h2>
<%--将小数转换为百分比--%>
<h3><fmt:formatNumber value="0.15216" pattern="0.00%"></fmt:formatNumber></h3>
</body>
</html>
JSTL全称JavaServer Pages Standard Tag Library,即Jsp标准标签库,是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。