JSTL标签库

来源:互联网 发布:社交网络网盘 编辑:程序博客网 时间:2024/05/22 08:06

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.常用标签库实例

1c: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使用转义字符。

显示结果:


2c:setc: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属性中移除。
结果显示:


3c:catch

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

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

结果显示:


4c: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>
显示结果:


5c: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>

显示结果:


6c:forTokens

servlet赋值://forTokensrequest.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最多最少的小位数。

显示结果:



剩下的还有函数库,自定义函数标签等等,就不具体介绍了,最常见的是上面的几种。这些基础的东西用的多了自然就熟练了。看到了就简单的总结了一下。



1 0