Java的核心标签C标签
C标签共有14个,分为四类:表达式控制标签、流程控制标签、循环标签、URL操作标签。
C标签在JSP页面使用,减少编码工作,首先需要引入核心标签库。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
一、表达式控制标签
-
<c:out>
该标签主要用来显示一个表达式的结果。
例1:
<c:out value="${9*9}"/>
运行结果:81
例2:
<c:out value="<%=9*9%>"/>
运行结果:81
-
<c:set>
标签用于设置变量值和对象属性。
例:
<c:set var="salary" scope="session" value="${12*10000}"/> <c:out value="${salary}"/>
运行结果:120000
-
<c:remove>
标签用于移除一个变量,可以指定这个变量的作用域,若未指定,则默认为变量第一次出现的作用域。
例:
<c:set var="salary" scope="session" value="${500*30}"/> <p>移除之前:<c:out value="${salary}"/></p> <c:remove var="salary"/> <p>移除之后:<c:out value="${salary}"/></p>
运行结果:
移除之前:15000
移除之后: -
<c:catch>
将产生错误的异常信息储存起来并处理。
例:
<c:catch var ="catchException"> <%int x = 1/0;%> </c:catch> <c:out value="${catchException}"/>
运行结果:
java.lang.ArithmeticException: / by zero
二、流程控制标签
-
<c:if>
与if语句功能一样,if标签判断表达式的值,如果表达式的值为true则执行其主体内容,否则不执行其主体内容。
例:
<c:set var="salary" scope="session" value="${500*30}"/> <c:if test="${salary > 10000}"> <p>My salary is <c:out value="${salary}"/><p> </c:if>
运行结果:
My salary is 15000 -
<c:choose>,<c:when>和<c:otherwise>
三个标签在一起连用,可以实现Java语言中的if-else语句的功能。<c:choose>标签与switch语句的功能一样,<c:when>对应switch语句中的case,<c:otherwise>对应switch语句中的default。
例:
<c:set var="salary" scope="session" value="${10000}"/> <p>Your salary is <c:out value="${salary}"/></p> <c:choose> <c:when test="${salary > 0 and salary <= 1000}"> 工资很低,很难维持生活。 </c:when> <c:when test="${salary > 1000}"> 薪水很好。 </c:when> <c:otherwise> 无业游民。 </c:otherwise> </c:choose>
运行结果:
Your salary is 10000
薪水很好。
三、循环标签
-
<c:forEach>
常用的标签,迭代一个集合中的对象。
例:
<c:forEach var="i" begin="1" end="3"> 第<c:out value="${i}"/>次 </c:forEach>
运行结果:
第1次 第2次 第3次 -
<c:forTokens>
将字符串根据分隔符(delims)分隔为一个数组然后迭代它们。
例:
<c:forTokens items="张三和李四和王五" delims="和" var="name"> <c:out value="${name}"/> </c:forTokens>
运行结果:
张三 李四 王五
四、URL操作标签
-
<c:import>
该标签可以包含一个FTP(File Transfer Protocol:文件传输协议)服务器中不同的网页内容。
例:
<c:import var="data" url="http://www.baidu.com"/> <c:out value="${data}"/>
将会显示http://www.baidu.com页面的代码。
-
<c:url>
这个标签是用来创建一个URL(Uniform Resource Locator:统一资源定位符)。
例:
<c:url value="http://www.baidu.com" var="myurl"> </c:url> <c:out value="${myurl}"/>
运行结果:
-
<c:redirect>
标签通过重写URL来将浏览器重定向至一个新的URL。
例:
<c:redirect url="http://www.baidu.com"/>
根据地址直接跳转。
-
<c:param>
<c:param>标签用于在<c:url>标签中指定参数。
例:
<c:url value="/Main.jsp" var="myurl"> <c:param name="id" value="1"/> <c:param name="type" value="myurl"/> </c:url> <c:out value="${myurl}"/>
运行结果:
/HelloWorld/Main.jsp?id=1&type=myurl