JSTL标签库

一、简介
引用
1.核心标签库
  a.JSTL表达式标签
  b.条件标签
  c.循环标签
  d.URL操作标签
2.格式标签库(处理国际化,数字和日期格式)
3.SQL标签库(可以访问数据库)
4.XML标签库(可操作XML标记)
5.函数标签库(主要是字符串操作函数)

需要掌握的JSTL核心库常用标签:
引入:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
1.JSTL表达式标签:
  <c:out value="${1+1}" default="0"></c:out>
  输出
    属性:value--表示要显示的值;可以是字符串,也可以是EL表达式
    escapeXml--是否转换特殊字符[默认是true]
    default--当value中的对象空时的默认显示
    <c:set var="" value="" target="" property="" scope=""></c:set>
  变量赋值
    属性:var--变量名
    value--值
    target--目标对象,可以是javaBean,集合对象
    property--指定到目标对象的属性
    scope--变量的作用范围[page(默认),request,session,application]
    <c:remove var=""></c:remove>
  移除变量
    <c:catsh></c:catch>
  捕获异常
    属性:var--变量,用于存储异常信息
2.条件表达式标签:
  <c:if test=""></c:if>
  条件判断
    属性:test--条件表达式
    var--变量表示条件表达式的值
    scope--变量范围
  <c:choose>
    <c:when test="">第一种情况</c:when>
    <c:when test="">第二种情况</c:when>
    .....
    <c:otherwise>其他情况</c:otherwise>
  </c:choose>
3.循环标签:
  <c:forEach></c:forEach>
  循环
  属性:items--循环类型
    var--循环变量
    begin--循环起始位置(从0算起)
    end--循环结束位置
    sep--每次循环的步长
    varStatus--循环状态[索引:index,计数:count,是否是首次循环:first ,是否是末次循环:last]
  <c:forTokens></c:forTokens>
  字符串分割循环
  属性:

    iterms--循环对象
    delims--分割字符
    var--循环变量
    begin,end,step,varStatus同forEach标签
4.URL操作标签:
  <c:import url=""></c:import>
  文件导入
  属性:url--被导入资源的路径
    charEncoding--被导入文件的编码格式
  说明:该标签不仅可导入本站的静态文件还可导入不同站点的资源文件
  <c:redirect url=""></c:redirect
  重定向
  <c:url></c:url>
  生成url地址标签

二、使用实例
Hello JSTL标签: <br>
<h2>表达式标签</h2>
<c:out value="1+1"/><br>
<c:out value="${1+1}"/><br>
<c:out value="${user}" default="显示默认值" /><br>
<c:out value="${user}">显示默认值</c:out><br>
<c:set var="name" value="设置变量"></c:set>
<c:out value="${name}"></c:out><br>
<c:set var="age" value="22"></c:set>
<c:remove var="age"/>
<c:out value="${age}" default="被移除了"></c:out><br>
<c:catch var="exception">
<%
int s=8/0;
%>
</c:catch>
<c:out value="异常是:${exception}"></c:out>
<h2>条件标签</h2>
<c:if test="${empty user}">
user是空对象<br>
</c:if>
<c:if test="${1+1==2}" var="v">
1+1=2
</c:if><br>
<c:out value="条件是:${v}"></c:out><br>
<c:set var="i" value="9"></c:set>
<c:choose>
<c:when test="${i<5}">
i小于5
</c:when>
<c:when test="${i>5}">
i大于5
</c:when>
<c:otherwise>
i等于5
</c:otherwise>
</c:choose>


<h2>循环标签</h2>
<%
List list=new ArrayList();
list.add("list1");
list.add("list2");
list.add("list3");
list.add("list4");
list.add("list5");
list.add("list6");
request.setAttribute("list",list);
%>
<c:out value="${list}"></c:out><br>
<c:forEach items="${list}" var="ite">
${ite} >>
</c:forEach><br>
<c:forEach items="${list}" begin="3" end="5" var="ite">
${ite }>>
</c:forEach><br>
<c:forEach items="${list}" begin="0" step="2" var="ite">
${ite }>>
</c:forEach><br>
<c:forEach items="${list}" var="ite" varStatus="status">
值:${ite }|索引:${status.index }|当前循环计数:${status.count }|是否为第一次循环:${status.first }
|是否为最后一次循环:${status.last }<br>
</c:forEach>
<c:set var="string" value="古都,雪国,千只鹤,山音,湖;伊豆的舞女"></c:set>
<c:forTokens items="${string}" delims=",;" var="ite">
${ite }>>
</c:forTokens>
<h2>URL操作标签</h2>
<!--
<c:import url="http://www.baidu.com" var="baidu">
</c:import>
-->
<iframe src="http://m.weather.com.cn/m/pn12/weather.htm " width="245" height="110" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no"></iframe>

你可能感兴趣的:(jstl)