1.1 输出计算结果标签 <c:out>
<c:out value=”value” escapeXml=”{true/false}” default=”default”/>
Value:输出的信息 escapeXml:默认取值为true default:当value为空时,要显示的值
列子1:
页面头:引入 <%@ page prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
//--使用方法一:
<c:out value=”xisna is a tuors city” />
<c:out value=”${null} escapeXml=”true” default=”tourist city”/>
//--使用方法二:
<c:out value=”${null}”>
Xi an jiao is a very famous school.
</c:out>
1.2 设置对象值属性标签 <c:set>
一:用value属性的值 设定一个范围变量的值
<c:value="value" var="var" scope="request/session/application"/>
二:用value属性 设置一个对象的属性值
<c:set value="value" target="target" property="property"/>
三:用于body内容设定一个对象的属性值
<c:set target=”target” property=”property”>
Body content
</c:set>
事列jsp:
<body>
<c:set var=”name” value="chengguoyong"/>
<c:out value="${name}"/>
<br>
<c:set var="name">
chengguoyong
</c:set>
<c:out value="${name}"/>
</body>
1.2 删除对象值属性标签 <c:romove>
事列jsp:
<body>
<c:set value="chengguoyong" var="name" scope="page"/>
<c:set value="chengyong" var="name" scope="session" default="susan"/>
<c:remove var="name" scope="page"/>
<c:out value="${name}"/>
<br>
<c:remove var="name" scope="session" />
<c:out value="${name}"/>
1.3 捕获异常标签 <c:catch>
事列jsp:
<body>
<c:catch var="exception">
<%
int i=6;
int j=0;
%>
<%=i/j%>
</c:catch>
<c:out value="${exception.message}"/>
<c:out value="${exception.cause}"/>
1.4 if条件判断标签 <c:if>
事列jsp:
<BODY>
<c:set value="1.4" var="height" />
<c:if test="${height<1.1}" var="result"/>//条件不成立,返回false
<c:out value="${result}"/> --输出为false
<br>
<c:if test="${height>1.1}" var="result">//条件成立 执行里面的内容
身高过1.1的人 需要买票
<c:if>
1.5 条件判断标签的综合应用:<c:choose> <c:when> <c:otherwise>
如:
<c:choose>
<c:when test="condition1">
body content1
</c:when>
<c:when test="condition2">
body content2
</c:when>
......
<c:otherwise>
condtion1 bock
</c:otherwise>
</c:choose>
事列jsp:
<BODY>
<c:set var="seaon" value="spring"/>
<c:choose>
<c:when test="${seaon='spring'}">//输出结果为春天
春天,是一个好玩的季节
</c:when>
<c:when test="${seaon='summer'}">
夏天,是一个很热的季节
</c:when>
<c:when test="${seaon='autumn'}">
秋天,是一个旅游的季节
</c:when>
<c:otherwise>
冬天,是一个寒泠的季节
</c:otherwise>
</c:choose>
1.6迭代标签 <c:forEach>
如:
说明:items:进行循环的项目 step :循环步长(每隔“几个”显示)varStatus:记录循环状态的变量
<c:forEach [var="var"] items="items" varStatus=”varstauts”
[begin="begin"] [end="end"] [step="step"]>
body content
</c:forEach>
<c:foreach var="i" begin="1" end="10" step="2">
<c:out value="${i}"/><br>
</c:foreach>
输出结果:1,3,5,7,9
1.7处理TokenString专用迭代标签<c:forTokens>
<c:forTokens>标签用来处理一系列特定符号隔开的字符串
delims :分隔字符串集合 如:delims=“,”
说明:
<c:forTokens items="stringTokens" delims="delims"
[var="var"] [varStatus="varstatus"] [begin="begin"] [end="end"] [step="step"]
body content
</c:forTokens>
c:forTokens属性说明表
属性名 | 类型 | 说明 | 引用EL |
items | 数组、集合类、字符串和枚举类型 | 被循环遍历的对象,多用于数组与集合类 | 可以 |
delims | String | 字符串的分割符,可以同时有多个分隔字符(依次写在引号内即可。如要按“|”和“,”分割,则写成delims=”|,”。 | 不可以 |
var | String | 变量名称(要被分割的原始字符串) | 不可以 |
begin | int | 循环起始位置 | 可以 |
end | int | 循环终止位置 | 可以 |
step | int | 循环的步长(增量) | 可以 |
varStatus | String | 循环的状态变量(次数) | 不可以 |
举例:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>jstl的用法--c:forTokens|c:set|c:if|c:out</title>
</head>
<body>
<c:set var="sourceStr" value="张三|四李|王二,麻子|jolian|jack" />
原字符串:<br><c:out value="${sourceStr}" /><br><br>
分割后:<br>
<c:forTokens var="str" items="${sourceStr}" delims="|," varStatus="status">
<c:out value="${status.count}" />.
<c:out value="${str}" />!!
<c:if test="${status.last}">
***用c:if实现***
<br>总共被分为<c:out value="${status.count}" />段.
</c:if>
</c:forTokens>
</body>
</html>
1.8 构造URL标签 <c:url>
<c:url value="/trai.jsp" var="My_url"/>
${My_url}
1.9 重定向URL标签 <c:redirect>
<c:redirect url="welcome.jsp"/>