Core标签库
•核心标签库主要包括通用标签、条件标签、迭代标签和与URL相关的标签。
•在使用Core标签库的JSP文件的开始部分,添加代码: <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
通用标签
•<c:out>标签
–用于将表达式的结果输出到当前的JspWriter对象中。其功能类似于JSP的表达式<%= %>,或者EL表达式${}。
–语法 <c:out value=“value” [default=“default value”] [escapeXml=“true|false”] /> <c:out value=“value” [escapeXml=“true|false”] > default value </c:out>
•<c:set>标签
–<c:set>标签用于设置JSP页面的各种域范围中的变量,或者设置java.util.Map对象或JavaBean对象的属性。
–语法
•<c:set value=“value” var=“name” [scope=“范围”]/>将value的值保存到名为name的变量中,同时name变量保存到选定的作用范围中。例如, <c:set value=“sunwk” name=“username” scope=“session”/>
•<c:set var=“name” [scope=“范围”] > value </c:set> 将标签体中的内容保存到名为name的变量中,同时name变量保存到选定的作用范围中。例如, <c:set var=“username” scope=“session”> sunwk </c:set>•<c:set value=“value” target=“target” property=“propertyName” />将value的值保存到target对象的propertyName属性中。•<c:set target=“target” property=“propertyName”> value </c:set> 将标签体的内容保存到target对象的propertyName属性中。
•<c:remove>标签
–<c:remove>标签用于移除JSP页面中指定域范围中的变量。
–语法 <c:remove var=“name” [scope=“范围”]/>
• <c:catch>标签–<c:catch>标签用于捕获嵌套在标签体内的内容抛出的异常对象,并将异常信息保存到变量中。–语法 <c:catch [var=“name”]> body content </c:catch> 将可能发生异常的代码放到该标签中,如果发生异常,异常信息保存到name变量中。
条件标签
•<c:if>标签
–<c:if>标签用来做条件判断,功能类似于JSP中的<%if(boolean){}%>。
–语法:
–<c:if test="condition" var="varName" [scope=""]/>
–<c:if test="condition" var="name" scope=""></c:if>
• <c:choose>、<c:when>、<c:otherwise>标签–<c:choose>标签用于提供条件选择的上下文,它必须与<c:when>和<c:otherwise>标签一起使用。–<c:when>作为<c:choose>的子标签,<c:when>有一个test属性,该属性的值为布尔型,如果test的值为true,则执行<c:when>标签体的内容。–<c:otherwise>标签没有属性,它必须作为<c:choose>标签的最后分支出现。
•语法格式:•<c:choose>•<c:when test=''condition">条件为true的时候执行</c:when>(一个或多个)•<c:otherwise></c:otherwise>(零个或者一个)•</c:choose>
迭代标签
•<c:forEach>标签
–<c:forEach>标签用于对包含了多个对象的集合进行迭代,重复执行它的标签体,或者重复迭代固定的次数。
注意:
items属性并不是一定要有的属性,但是当没有使用items属性时,就一定要使用begin和end属性。
varStatus:用来保存现有遍历计数相关的信息。例如,如果varStatus=“i”,那么会将相应信息放到名称为i的变量中,i变量有四个属性值,index、count、first和last。
•语法格式:•对多个对象集合进行迭代•<c:forEach var="varName" items="collection" varStatus="StringName" begin="beginindex" end="endindex" step="step">•bodycontent•</c:forEach><c:forEach items=“${names}” var=“name” varStatus=“i”>${name}<br>index:${i.index} <br> count:${i.count} <br>first:${i.first} <br> last:${i.last}<br></c:forEach>
•<c:forTokens>标签
–<c:forTokens>标签用来浏览一字符串中所有的成员,其成员是由定义符号(Delimiters)所分隔的。
<c:forTokens items=“a:b:c:d” delims=“:” var=“token”>
<c:out value=“${token}” /> <br>
</c:forTokens>