JSTL标签库2
<c:if>标签
<c:if test=“”>标签可以构造简单的“if-then”结构的条件表达式
<html>
<body>
<c:if test="${10>6}" var="haha" scope="page">
<c:if test="${10<20}" var="haha" scope="page">呵呵</c:if>
</c:if>
<c:out value="${haha}" />
</body>
</html>
<c:choose>标签
<c:choose>标签用于指定多个条件选择的组合边界,它必须与<c:when>和<c:otherwise>标签一起使用。使用<c:choose>,<c:when>和<c:otherwise>三个标签,可以构造类似 “if-else if-else” 的复杂条件判断结构。
<html>
<body>
<%-- <c:set value="48" var="num"/> --%>
<c:set var="num" value="${param.num}" /><!-- 传参数:http://localhost:8080/myday17/c_choose.jsp?num=23 -->
<c:choose>
<c:when test="${num>4 && num <10}">>4 && <10</c:when>
<c:when test="${num>10 && num<20 }"> <10 && <20</c:when>
<c:otherwise>>20 && <4</c:otherwise>
</c:choose>
</body>
</html>
<c:forEach>标签
<c:forEach>标签用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%--
<jsp:useBean id="HashMap" class="java.util.HashMap" scope="page" />
<c:set target="${HashMap}" property="key" value="01"></c:set>
<c:set target="${HashMap}" property="value" value="hacket"></c:set>
--%>
<%
List<String> arrayList = new ArrayList<String>();
arrayList.add("hacket");
arrayList.add("jack");
arrayList.add("marry");
arrayList.add("nia");
arrayList.add("sisfa");
arrayList.add("fagas");
//加入到与对象中去
request.setAttribute("arrayList", arrayList);
%>
<c:forEach var="list" items="${arrayList}" varStatus="listStatus">
<br/>
${list}
${listStatus.index}<!-- 索引号 -->-${listStatus.first}<!-- 是否为第一个元素 -->-${listStatus.last}-<!-- 是否为最后一个元素 -->${listStatus.count}<!-- 总共有多少个 --><br/>
</c:forEach>
</body>
</html>
<c:param>标签
在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。
<c:param>标签可以嵌套在<c:import>、<c:url>或<c:redirect>标签内,为这些标签所使用的URL地址附加参数。
<c:param>标签在为一个URL地址附加参数时,将自动对参数值进行URL编码,例如,如果传递的参数值为“中国”,则将其转换为“%d6%d0%b9%fa”后再附加到URL地址后面,这也就是使用<c:param>标签的最大好处。
示例:<c:param name=“name” value=“中国" />
<c:url>标签
<c:url>标签用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="java.net.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%-- a标签是基本标签 --%>
<a href="/day17/value.jsp?country=<%=URLEncoder.encode("中国","UTF-8")%>">
传统方式传中文
</a>
<hr/>
<%-- c:url不是基本标签,底层对应标签处理类,以转发方式进行 --%>
<c:url var="myURL" value="/value.jsp" scope="page">
<c:param name="country" value="中国"/>
</c:url>
<a href="${myURL}">
现代方式传中文
</a>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.net.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
String country = request.getParameter("country");
byte[] b = country.getBytes("iso-8859-1");
out.write(new String(b,"utf-8"));
%>
</body>
</html>
<c:redirect>标签
<c:redirect>标签用于将当前的访问请求转发或重定向到其他资源,它可以根据url属性所指定的地址,执行类似<jsp:forward>这个JSP标准标签的功能,将访问请求转发到其他资源;或执行response.sendRedirect()方法的功能,将访问请求重定向到其他资源。
<%@ page language="java" pageEncoding="UTF-8"%> <%@ page import="java.net.*" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <c:redirect url="/value.jsp"> <c:param name="country" value="美国"/> <c:param name="tel" value="XXX"/> </c:redirect> </body> </html>
by hacket

浙公网安备 33010602011771号