您的位置:首页 > Web前端 > JavaScript

JSTL标签库

2015-12-18 09:48 489 查看

1.引入jar包



2.标签库分类



对于流程,循环和表达式,URL标签库统称为JSTL核心库,在JSP中添加:
<%@ tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%>
对于格式化标签库,在JSP中添加:
<%@ tagliburi="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
还有一个函数标签库,在JSP中添加:
<%@ tagliburi="http://java.sun.com/jsp/jstl/functions"prefix="fn"%>

3.常用标签库实例

(1)c:out标签
hello(使用标签):<c:out value="hello"/><br>
	hello(使用缺省值):<c:out value="${null}" default="没有值"/><br>
	welcome(使用标签,escapeXml=true):<c:out value="<font color='red'>欢迎你来到这个世界!</font>" escapeXml="true"/><br>
	welcome(使用标签,escapeXml=false):<c:out value="<font color='red'>欢迎你来到这个世界!</font>" escapeXml="false"/><br>
使用的表达式结果为null时,设置default就会显示default设置的值。escapeXml设置true不使用转移字符,false使用转义字符。
显示结果:



(2)c:set,c:remove标签

<li>测试c:set,c:remove</li><br>
	<c:set value="root" var="userid"/>
	userid:${userid }<br>
	<c:remove var="userid"/>
	userid:${userid }
c:set将变量存取于JSP中或javaBean属性中,c:remove将变量从JSP中或javaBean属性中移除。

结果显示:



(3)c:catch

<li>c:catch标签</li><br>
	<c:catch var="msg">
		<%
			Integer.parseInt("asdfsdf");
		%>
	</c:catch>
	${msg }<br>


用来处理JSP 页面中产生的异常,并存储异常信息。

结果显示:



(4)c:if,c:choose,c:when,c:otherwise
<li>条件控制标签:c:if</li><br>
	<c:if test="${v1 lt v2}">
		v1小于v2<br>
	</c:if>
	<p>
	<li>条件控制标签:c:choose,c:when,c:otherwise</li><br>
	<c:choose>
		<c:when test="${v1 gt v2}">
			v1大于v2<br>
		</c:when>
		<c:otherwise>
			v1小于v2<br>
		</c:otherwise>
	</c:choose>
显示结果:



(5)c:foreach
<li>演示循环控制标签:forEach</li><br>
	<table border="1">
		<tr>
			<td>用户名称</td>
			<td>年龄</td>
			<td>所属组</td>
		</tr>
		<c:choose>
			<c:when test="${empty users}">
				<tr>
					<td colspan="3">没有符合条件的数据</td>
				</tr>
			</c:when>
			<c:otherwise>
				<c:forEach items="${users}" var="user">
					<tr>
						<td>${user.username }</td>
						<td>${user.age }</td>
						<td>${user.group.name }</td>
					</tr>
				</c:forEach>
			</c:otherwise>
		</c:choose>
	</table>

显示结果:



(6)c:forTokens

servlet赋值:
//forTokens
request.setAttribute("strTokens", "1#2#3#4#5");
JSP取值:
<li>演示循环控制标签:forTokens</li><br>
<c:forTokens items="${strTokens}" delims="#" var="v">
	${v }<br>
</c:forTokens>
用于浏览字符串,并根据指定的字符串截取字符串。上面定义了一串字符串,在JSP中取值的时候,delims设置根据“#”进行截取。

4.格式化标签库

<h1>测试格式化日期标签</h1>
	today(default):<fmt:formatDate value="${today}"/><br>
	today(type="date"):<fmt:formatDate value="${today}" type="date"/><br>
	today(type="time"):<fmt:formatDate value="${today}" type="time"/><br>
	today(type="both"):<fmt:formatDate value="${today}" type="both"/><br>
	today(dateStyle="short"):<fmt:formatDate value="${today}" dateStyle="short"/><br>
	today(dateStyle="medium"):<fmt:formatDate value="${today}" dateStyle="medium"/><br>
	today(dateStyle="long"):<fmt:formatDate value="${today}" dateStyle="long"/><br>
	today(dateStyle="full"):<fmt:formatDate value="${today}" dateStyle="full"/><br>
	today(pattern="yyyy/MM/dd HH:mm:ss):<fmt:formatDate value="${today}" pattern="yyyy/MM/dd HH:mm:ss" var="currentDate"/><br>
	${currentDate }<br>
	<h1>测试格式化数字标签</h1>
	n(default):<fmt:formatNumber value="${n}"/><br>
	n(pattern="###,###,###.####"):<fmt:formatNumber value="12345678.123" pattern="###,###,###.####"/><br>
	n(pattern="###,###,###.0000"):<fmt:formatNumber value="12345678.123" pattern="###,###,###.0000"/><br>
	n(groupingUsed="false"):<fmt:formatNumber value="12345678.123" groupingUsed="false"/><br>
	n(maxIntegerDigits="12" minIntegerDigits="10"):<fmt:formatNumber value="12345678.123" maxIntegerDigits="12" minIntegerDigits="10"/><br>
	n(minFractionDigits="4" maxFractionDigits="6"):<fmt:formatNumber value="12345678.123" minFractionDigits="4" maxFractionDigits="6"/><br>
	n(type="currency"):<fmt:formatNumber value="12345678.123" type="currency"/><br>
	n(type="currency" currencySymbol="$"):<fmt:formatNumber value="12345678.123" type="currency" currencySymbol="$"/><br>

n(type="percent"):<fmt:formatNumber value="0.1234567" type="percent" minFractionDigits="2" maxFractionDigits="2"/><br>
看完上面的代码展示结合下面的显示结果基本已经知道各个的含义。其中几个解释一下,maxIntegerDigits, minIntegerDigits最多最少的整数位数。maxFractionDigits,
minFractionDigits最多最少的小位数。

显示结果:



剩下的还有函数库,自定义函数标签等等,就不具体介绍了,最常见的是上面的几种。这些基础的东西用的多了自然就熟练了。看到了就简单的总结了一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: