1、JSTL是SUN公司制定的一个JSP标签库,由apache jakarta组织负责维护的开源项目,目的是用标签代替java代码片断。JSTL 1.0 由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。html
1)、core: 标记库提供了定制操做,经过限制了做用域的变量管理数据,以及执行页面内容的迭代和条件操做。它还提供了用来生成和操做 URL 的标记。java
2)、format: 标记库定义了用来格式化数据(尤为是数字和日期)的操做。它还支持使用本地化资源束进行 JSP 页面的国际化。sql
3)、xml: 库包含一些标记,这些标记用来操做经过 XML 表示的数据,数据库
4)、sql :库定义了用来查询关系数据库的操做。apache
二:Core:又被称为核心标签库(就是一般说的c标签),该标签库的工做是对于 JSP 页面通常处理的封装。包含如下标签
多用途核心标签:<c:out> 、<c:set> 、<c:remove> 、<c:catch> 。
条件控制标签:<c:if> 、<c:choose> 、<c:when> 、<c:otherwise> 。
循环控制标签:<c:forEach> 、<c:forTokens> 。
URL 相关标签:<c:import> 、<c:url> 、<c:redirect> 、<c:param> 。数组
3、Core标签的引入:myeclipse集成了jstl,因此只须要在jsp页面头部将标签库引入就可使用jstl的core标签库eclipse
a)、在Jsp页面引入jstl标签库(prefix的名字课题任意的取,但通常都取为c):jsp
1 <%@ taglib prefix="c" uri="" %>
b)、查询uri的值:在Java EE 6 Libraries/jstl-impl.jar/META-INF/c.tld文件中找到uri的值:ide
c)、上图中的uri的值复制到taglib标签中的uri中便可使用c标签库了:url
1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 <% 4 String path = request.getContextPath(); 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 6 %> 7 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 9 <html> 10 <head> 11 </head> 12 <body> 13 The book name is ${bookName} ;<br> 14 <!-- el表达式执行基本的逻辑运算 --> 15 ${1+2 }<br/> 16 ${5 < 7 }<br/> 17 ${5<7 && 4 >6 }<br/> 18 ${5<7 || 4 >6 }<br/> 19 <!-- 获取数组 --> 20 ${arr[0] }<br/> 21 ${arr[1] }<br/> 22 ${arr[2] }<br/> 23 ${arr[3] }<br/> 24 ${arr[5] }<br/> 25 ${list[0]}<br> <!-- list集合能够用下标读出来 --> 26 <!-- 获取数组 --> 27 ${list[1]}<br> 28 ${list[2]}<br> 29 ${list[3]}<br> 30 ${list[4]}<br> 31 ${list[5]}<br> 32 <!-- 获取Map --> 33 ${map["key1"] } == ${map.key1 }<br/> 34 ${map.key2 }<br/> 35 C 标签的 forEach 用法 相似于加强for循环 <br/> 36 <c:forEach var="list" items="${list}"> 37 ${list}<br/> 38 </c:forEach> 39 <c:forEach var="v" items="${map }"> 40 <!-- 遍历Map时,经过key获取对应的键,经过value获取对应的值 --> 41 ${v.key }====${v.value }<br/> 42 </c:forEach> 43 <c:if test="${bookName == 'chenzejun' }"> 44 The book name is ${bookName} ;<br> 45 </c:if> 46 <c:out value="${bookName}" /><br> 47 <!-- 48 c:set至关于设置一个变量,但只在本页面有效 49 --> 50 <c:set var="temp" value="jsk" /> 51 ${temp} <br> 52 </body> 53 </html>