三、JSTL
使用了EL表达式可以简化JSP页面代码,但是如果需要进行逻辑判断该怎么办?
虽然EL表达式可以访问JavaBean的属性,但是并不能实现在JSP中进行逻辑判断,因而要使用JSTL标签
使用JSTL实现JSP页面中逻辑跳转,需要导包
1.什么是JSTL
JSTL(JavaServerPages Standard Tag Library)JSP标准标签库
JSTL通常会与EL表达式合作实现JSP页面的编码
2.JSTL标签库
功能领域 | URI | 前缀 |
---|---|---|
Core | http://java.sun.com/jsp/jstl/core | c |
Format | http://java.sun.com/jsp/jstl/fmt | fmt |
SQL | http://java.sun.com/jsp/jstl/sql | sql |
XML | http://java.sun.com/jsp/jstl/xml | xml |
Functions | http://java.sun.com/jsp/jstl/functions | fn |
<!-- jsp自带标签库 -->
<%@ page language="java" import="java.util.*,cn.dlian.entities.*"
contentType="text/html;charset=utf-8" %>
<!-- 引入其他库标签 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!-- 1.设置变量,及存储范围(4大作用域) -->
<c:set var="example" value="10" scope="page" /><br>
<!-- 打印一个4大作用域的值 -->
<!-- out开闭标签之间的值,是在value值获取不到时,才能显示 -->
<c:out value="${example }">值存在</c:out><br>
<!-- 2.删除一个4大作用域中已存在的值 -->
<c:remove var="example" scope="page" /><br>
<!-- 3.使用set标签中的值,作为value -->
<c:set var="data">data的数值</c:set><br> <!-- 默认存放在pageContext中 -->
data的数值为:<c:out value="${data }" /><br>
<!-- 4.结合jsp:userBean,来设置一个java bean对象 -->
<jsp:userBean id="user" class="cn.dlian.entities.UserInfo" scope="page"></jsp:userBean>
<c:set target="${user }" property="User_ID" value="1" /><br>
<c:set target="${user }" property="User_ID" value="zhangsan" /><br>
id:${user.USER_ID }<br>
name:<c:out value="${user.USER_NAME}">用户名不存在</c:out><br>
<!-- 5.选择 -->
<c:choose>
<c:when text="${score< 60}">不及格</c:when><br>
<c:when text="${score>=60&&score<8}">及格</c:when><br>
<c:when text="${score>=85}&&score<100">优秀</c:when><br>
<c:otherwise>满分!</c:when><br>
</c:choose>
<!-- 6.循环 相当于Java张总的快速迭代 ,varStatus中存放了循环的下标、次数等特殊信息-->
<!-- varstatus为循环遍历时的辅助信息,它存放在pageCOntext中,也可用count代替index -->
<c:forEach var="hobby" item="${paramValus.habbies }" varStatus="stat">
爱好${stat.index + 1} : ${hobby }<br>
<c:if text="${stat.first }">第一个爱好:</c:if><br>
<c:if text="${stat.last }">最后爱好:</c:if><br>
</c:forEach>
<!-- 7.数组 -->
<c:set var="str" value="1,2,3,4,5" /><br>
<c:forTokens item="${str }" delims="," varStatus="stat">
第${stat.count }个元素为:${stat.curent }<br>
</c:forTokens>
uri告诉你东西是什么没告诉在哪
url告诉你东西是什么并且在哪