<c:if>标签,可以根据不同的条件的条件处理不同的业务,即执行不同的程序代码,<c:if>标签和java中的if语句功能类似。
语法:
<c:if test=”condition” var=”name” scope=”page”>
标签主体
</c:if>
test,必选属性,用于指定条件表达式。var,用于指定变量名,这个属性会指定test属性的判断结果存放在那个变量中,如果该变量不存在就创建他。
例如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'CIf.jsp' starting page</title>
</head>
<body>
<c:if test="${1<3}">
<%="满足条件!" %>
</c:if>
</body>
</html>
<c:choose>、<c:when>、<c:otherwise>标签
<c:choose>标签可以根据不同的条件完成指定的业务逻辑,如果没有符合条件的,则会执行默认条件的业务逻辑。需要注意的是<c:choose>标签只能作为<c:when>和<c:otherwise>标签的父标签。
他们的语法结构是:
<c:choose>
<c:whentest=”condition>
业务逻辑
</c:when>
<c:whentest=”condition”>
业务逻辑
</c:when>
<c:otherwise>
业务逻辑
</c:otherwise>
</c:choose>
<c:when>标签可以根据不同的条件执行相应的业务逻辑,<c:otherwise>标签用于指定默认条件处理逻辑。
在<c:choose>标签中,如果发现一个test属性值为true的<c:when>标签,则其后面的<c:when>标签将不再处理。
注意:在<c:choose>标签中必须有一个<c:when>标签,但是<c:otherwise>标签是可选的。
例如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'CChoose.jsp' starting page</title>
</head>
<body>
<jsp:useBean id="date" class="java.util.Date"/>
<c:choose>
<c:when test="${date.hours>=0&&date.hours<5 }">
凌晨好!
</c:when>
<c:when test="${date.hours>=5&&date.hours<=8 }">
早上好!
</c:when>
<c:when test="${date.hours>=8&&date.hours<=11 }">
上午好!
</c:when>
<c:when test="${date.hours>=11&&date.hours<=13 }">
中午好!
</c:when>
<c:otherwise>
下午好!
</c:otherwise>
</c:choose>
</body>
</html>
<c:foreach>标签
<c:foreach>标签可以根据循环条件遍历数组和集合类中的所有或部分数据。
语法:1、数字索引迭代
<c:forEach begin="start"end="finish" var="name" varStatus="statusName">
</c:forEach>
或集合成员迭代
<c:forEach items="data"var="name" begin="start" end="finish"varStatus="statusName">
</c:forEach>
items是数组、集合、字符串和枚举类型。即被循环遍历的对象。
var循环体的变量,用于存储items指定对象的成员。
begin循环的起始位置,如果没有指定从第一个开始迭代。
end循环的终止位置,如果没有指定,则一直迭代到集合最后一位。
varStatus循环的状态信息,可以取index、count、first、last等值。
例如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'CForeach.jsp' starting page</title>
</head>
<body>
<%
List list = new ArrayList();
list.add("小明");
list.add("小红");
list.add("小刚");
request.setAttribute("arrlist", list);
%>
<c:forEach items="${arrlist}" var="student" varStatus="id" begin="0">
${id.index} ${student}<br>
</c:forEach>
</body>
</html>
URL操作标签
url标签是指与文件导入、重定向URL地址生成以及参数传递相关的标签。
<c:import>标签,该标签可以导入站内或其他网站的静态或动态文件到web页面中,与<jsp:include>相比,<jsp:include>只能导入站内的资源,<c:import>更加灵活。
语法:
<c:import url="url"context="context" charEncoding="encoding"></c:import>
url是被导入的文件资源的URL。context是上下文路径,用于访问同一个服务器的其他web工程,其值必须是以/开头;如果指定了该值,那么url属性值也必须以/开头。
charEncoding被导入文件的编码方式。
例如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'CImport.jsp' starting page</title>
</head>
<body>
<c:import url="index.jsp" charEncoding="utf-8"></c:import>
</body>
</html>
<c:redirect>重定向标签,
<c:redirect>标签能将客户端发送的request请求重定向到其他URL服务端,由其他程序处理客户端请求。
语法:
<c:redirect url="url">
<c:paramname="name"value="value"/>
</c:redirect>
param标签用于传递参数。参数名为name,值用value表示。
例如:
<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'CRedirect.jsp' starting page</title>
</head>
<body>
<c:redirect url="Login.jsp">
<c:param name="name" value="张三"/>
</c:redirect>
</body>
</html>
然后看处理页面
<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Login.jsp' starting page</title>
</head>
<body>
<%request.setCharacterEncoding("utf-8"); %>
<%=request.getParameter("name") %>
</body>
</html>