一、什么是JSTL?
JSTL的jar包资源:链接:https://pan.baidu.com/s/1ZsY7lAHWQSA0DiZVlieVhA 密码:cnwg
JSTL:全称JavaServerPages Standard TagLibrary, JSP标准标签库
二、JSTL的作用
实现JSP页面中逻辑处理。如判断, 循环等;
三、如何使用JSTL
必须在JSP页面添加tablib指令库
<% @taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c">
四、标签介绍
1、通用标签set,out,remove
基础标签:声明变量,输出变量,移除变量,变量默认值
<!--1. var:是变量名 value:变量的值(必须是EL表达式)-->
<p:set var="k" value="${1+1}"></p:set>
<!--2. 输出变量k value:使用EL表示表示变量-->
移除前输出的内容:<p:out value="${k}"></p:out><br>
移除指定变量 <p:remove var="k"/>
移除后输出的内容:<p:out value="${k}"></p:out><br>
给指定变量赋默认值 :<p:out value="${m}" default="123456"> </p:out>
2、条件标签if,choose
<c:if>
<!-- 条件标签:if choose --> <!-- test属性中是条件,但是条件需要使用EL表达式来书写 --> <h3>条件标签:if</h3> <c:if test="${8>2 }"> 8大于2是成立的 </c:if> <c:if test="${8<2 }"> 8小于2是成立的 </c:if> <br> <%-- 如果只是一个基本数据类型直接书写不需要${} --%> <c:set var="m" value="${5}"></c:set> <c:if test="${m>3}"> 5大于3是成立的 </c:if>
<c:choose>
<h3>条件标签:choose(等价于java中switch)</h3> <%-- 测试成绩等级 >90 优秀 >80 良好 >70 中等 >60及格--%> <c:set var="score" value="${80}"></c:set> <c:choose> <c:when test="${score>=90 }">优秀</c:when> <c:when test="${score>=80 }">良好</c:when> <c:when test="${score>=70 }">中等</c:when> <c:when test="${score>=60 }">及格</c:when> <c:otherwise>不及格</c:otherwise> </c:choose>
3 、迭代标签foreach
for基础遍历
<!-- 遍历for:输出1到10 的值 --> <!--var: 变量,把遍历的每一个值都存储在变量中进行输出 begin:开始 如果是变量使用EL表达式表示 end:结束 如果是变量使用EL表达式表示 step:间隔的长度 for( int i=0;i<10;i++){ System.out.println(i); } --> 示例代码: <c:forEach var="i" begin="1" end="10" step="2"> ${i}<br> </c:forEach>
foreach遍历
<h3>测试list集合遍历获取学生列表</h3> <table width="80%" bordercolor="red" cellspacing="0" align="center"> <tr> <th>学号</th> <th>姓名</th> <th>成绩</th> <th>班级</th> <th>是否是第一个</th> <th>是否是最后一个</th> <th>计数count</th> <th>索引index</th> </tr> <!-- varStatus:变量状态:遍历出的每一项内容的状态: isFirst() first isLast() last getCount() count 计数 重要的 从1开始 getIndex() index 从0开始 --> <!-- var :遍历出的每一项使用变量先存储 items:集合(使用El表达式) --> <c:forEach var="stu" items="${students}" varStatus="vs"> <tr> <td>${stu.id}</td> <td>${stu.name}</td> <td>${stu.score}</td> <td>${stu.classes}</td> <td>${vs.first}</td> <td>${vs.last}</td> <td>${vs.count}</td> <td>${vs.index}</td> </tr> </c:forEach> </table>