jstl(jsp标准标签库)学习:
表达式相关标签: <c:out> <c:set> <c:remove> <c:catch>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set value="21" var="num"/>
<c:out value="${num}"/>
<c:set var="num">21</c:set>
<c:out value="${num }"/>
</body>
</html>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>
</title>
</head>
<body>
<c:set value="21" var="num"/>
<c:remove var="num"/>
<c:out value="${num }"/>
</body>
</html>

流程控制相关标签:<c:if> <c:choose> <c:when> <c:otherwise>,其中<c:choose>标签是<c:when>和<c:othwise>的父标签:
<c:choose>
<c:when test="">
</c:when>
<c:when test="">
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
且<c:choose></c:choose>中至少要有一个<c:when>标签,而<c:otherwise>标签则可以没有,还有就是<c:when>标签必须放在<c:otherwise>标签的前面,
只有当<c:when>全为假时才会执行<c:otherwise>里面的内容,最后一个就是当有多个<c:when>为真的话,只会执行第一个<c:when>里面的东西;(很像switch语句)
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set value="电子工业出版社" var="publisher"/>
<c:if test="${publisher=='电子工业出版社'}" var="namecheck">
检查正确!
</c:if>
<c:out value="${namecheck}"/>
<c:set value="电子工业出版社" var="publisher"/>
<c:choose>
<c:when test="${publisher=='电子工业出版社'}">
电子工业出版社!
</c:when>
<c:when test="${publisher=='机械工业出版社'}">
机械工业出版社!
</c:when>
<c:otherwise>
本书出版社不明!
</c:otherwise>
</c:choose>
</body>
</html>
迭代相关标签: <c:forEach> <c:forTokens>
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String name=new String("姓名=邓佳容|年龄=10个月|性别=女");
request.setAttribute("name",name);
%>
<c:forTokens items="${name}" var="currentName" varStatus="currentVarStatus" delims="|">
当前元素为:<c:out value="${currentName}"/>
当前索引号为:<c:out value="${currentVarStatus.index}"/>
当前迭代次数为:<c:out value="${currentVarStatus.count}"/><hr>
</c:forTokens>
<c:forTokens items="${name}" var="currentName" varStatus="currentVarStatus" delims="|">
<c:forTokens items="${currentName}" var="currentName1" varStatus="currentVarStatus" delims="="> //这里相当于两层循环,先用"|"分割,再用"="分割 "
当前元素为:<c:out value="${currentName1}"/>
当前索引为:<c:out value="${currentVarStatus.index}"/>
当前迭代次数为:<c:out value="${currentVarStatus.count}"/>
</c:forTokens>
</c:forTokens>
</body>
</html>

URL相关标签: <c:import>与<c:param> <c:redirect> <c:url>
<c:import>标签用于把当前JSP页面之外的其他静态或动态文件包含进来,功能类似于JSP的动作指令<jsp:include>,但两者有所差别:<jsp:include>只能包含与当前JSP页面处于同一个Web应用下的文件,而<c:import>标签无此限制,甚至可以是其他网站的文件,在<c:import>与</c:import>中加入<c:param></c:param>标签的话还可以实现向import的URL传入参数的功能。
<c:redirect>是重定向到一个新的URL,也可以实现传入参数的功能;
<c:url>是生成一个新的URL,也可以实现传入参数的功能;
本文介绍了JSTL(JSP Standard Tag Library)的基本使用方法,包括表达式标签如<c:out>、流程控制标签如<c:if>和迭代标签<c:forEach>的应用实例。通过这些标签,可以更简洁高效地进行页面逻辑控制。
1万+

被折叠的 条评论
为什么被折叠?



