JSTL常用标签大全

1、下载jstl标签库


2、在相目\WEB-INF\lib\文件夹中放入标签库的两个jar文件:javax.servlet.jsp.jstl-1.2.1.jar 和 javax.servlet.jsp.jstl-api-1.2.1.jar

 

3、在jsp文件的顶部加入以下内容:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>   

 

 

<c:> 核心标签库 

==========================================================================

JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect

 

<c:forEach> 标签

-------------------------------------------------------------------

为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。

 

 <c:forEach> 标签的语法 说明 :

语法1:迭代一集合对象之所有成员

Html代码  
  1. <c:forEach [var="varName"items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>  
  2. 本体内容  
  3. </c:forEach>  

语法2:迭代指定的次数

Html代码  
  1. <c:forEach [var="varName"] [varStatus="varStatusName"begin="begin" end="end" [step="step"]>  
  2. 本体内容  
  3. </c:forEach>  

 

<c:forEach> 标签的 属性说明 :


 

 

<c:forEach> 标签的 属性 : varStatus属性: 它的提供另外四个属性:index,count,fist和last,它们个自的意义如下:

Java代码  
  1. 属性                   类型                                  意义  
  2. index                  number                    现在指到成员的索引  
  3. count                  number                    总共指到成员的总和  
  4. first                  boolean                   现在指到成员是否为第一个  
  5. last                   boolean                   现在指到成员是否为最后一个   

 

 

 <c:forEach> 遍历 List列表:

 对于一个基本类型的数组,当前元素将作为相应包装类(Integer、Float等等)的一个实例提供。

Html代码  
  1. <c:forEach items="${domainList }" var="item">  
  2. <tr>  
  3.   <td align="center" valign="middle">${item["domain"]==null?"&nbsp;":item["domain"]}</td>  
  4.   <td align="center" valign="middle"><fmt:formatDate value="${item['bind_date']}" pattern="yyyy-MM-dd HH:mm:ss"/></td>  
  5.   <td align="center" valign="middle">  
  6.     <c:if test="${item['domain']!=null}">  
  7.     <a href="javascript:;" id="${item['domain']}" class="del">&nbsp;</a>  
  8.     </c:if>  
  9.     </td>  
  10. </tr>    
  11. </c:forEach>  

 

 <c:forEach> 遍历Map:

 对于一个java.util.Map,当前元素则作为一个java.util.Map.Entry提供。

Html代码  
  1. <c:if test="${!empty permissionMap}">    
  2. <c:forEach items="${permissionMap}" var="item">  
  3. <tr>  
  4.     <td>${item.value.id}</td>  
  5.     <td>${item.value.urlOnClass}</td>  
  6.     <td>${item.value.urlOnMethod}</td>  
  7. </tr>  
  8. </c:forEach>  
  9. </c:if>    

 


<c:forTokens> 标签

-------------------------------------------------------------------

用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的。

 

 <c:forTokens> 标签的语法 说明 :

Html代码  
  1. <c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"]  
  2. [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>  
  3. 本体内容  
  4. </c:forTokens>  

 

<c:forTokens> 标签的 属性说明 :

 

 

<c:out> 标签

-------------------------------------------------------------------

主要用来显示数据的内容

 

 <c:out> 标签的语法 说明 :

语法1:没有本体(body)内容

Html代码  
  1. <c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"/>  

 

语法2:有本体内容

Html代码  
  1. <c:out value="value" [escapeXml="{true|false}"]>  
  2. default value  
  3. </c:out>  

 

注:一般来说,<c:out>默认会将<、>、’、” 和 & 转换为 &lt;、&gt;、&#039;、&#034; 和&amp;。假若不想转换时,只需要设定<c:out>的escapeXml属性为fasle就可以了。

 

 

<c:set> 标签

-------------------------------------------------------------------

主要用来将变量储存至JSP范围中或是JavaBean的属性中。

 

 <c:set> 标签的语法 说明 :

语法1:将value的值储存至范围为scope的 varName 变量之中

Html代码  
  1. <c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>  

 

语法2:将本体内容的数据储存至范围为scope的 varName 变量之中

Html代码  
  1. <c:set var="varName" [scope="{ page|request|session|application }"]>  
  2. … 本体内容  
  3. </c:set>  

 

语法3:将 value的值储存至 target 对象的属性中

Html代码  
  1. <c:set value="value" target="target" property="propertyName" />  

 

语法4:将本体内容的数据储存至target 对象的属性中

Html代码  
  1. <c:set target="target" property="propertyName">  
  2. … 本体内容  
  3. </c:set>  

 

<c:set> 标签的 属性说明 :


 

 

<c:remove> 标签

-------------------------------------------------------------------

主要用来移除变量。

 

 <c:remove> 标签的语法 说明 :

Html代码  
  1. <c:remove var="varName" [scope="{ age|request|session|application }"/>  

 

<c:catch> 标签

-------------------------------------------------------------------

主要用来处理产生错误的异常状况,并且将错误信息储存起来。

 

 <c:catch> 标签的语法 说明 :

Html代码  
  1. <c:catch [var="varName">  
  2. … 欲抓取错误的部分  
  3. </c:catch>  

 

 

<c:if> 标签

-------------------------------------------------------------------

的用途就和我们一般在程序中用的if一样。

 

 <c:if> 标签的语法 说明 :

语法1:没有本体内容(body)

Html代码  
  1. <c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/>  

 

语法2:有本体内容

Html代码  
  1. <c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]>  
  2. 本体内容  
  3. </c:if>  

示例:

 

Html代码  
  1. <c:if test="${not empty item.publish_time}">  
  2. 内容  
  3. </c:if>  
  4.   
  5. <c:if test="${item['domain']!=null}">  
  6. 内容  
  7. </c:if>  
  8.   
  9. <c:if test="${!empty permissionMap}">   
  10. 内容  
  11. </c:if>  

 

<c:url>   标签

-------------------------------------------------------------------

用于动态创建一个url地址,本例另外用<c:param>标签附带了两个参数传递,示例如下:



页面显示效果:




可以看到鼠标悬浮到a标签后状态栏显示出了正确的链接地址,并且带了两个参数,点击链接后跳转

到了aaa.jsp页面。



<c:import>   标签

-------------------------------------------------------------------

用于在一个页面里导入另外一个页面。示例:


bbb.jsp页面如下:





index.jsp页面如下:




运行bbb.jsp页面,效果如下:




可以看到bbb.jsp页面成功包含了index.jsp页面的内容,并且显示了从bbb.jsp页面传过来的参数。




<c:redirect>   标签

-------------------------------------------------------------------

用于重定向网页,就一行代码很简单。同样的,标签体之间可以用 <c:param>标签附加参数:


 <c:redirect url="aaa.jsp">

这里可以写<c:param>标签....

</c:redirect>



c:choose> <c:when> <c:otherwise>   标签

-------------------------------------------------------------------

相当于Java中的if....else,注:<c:otherwise>标签可以省略;


Html代码  
  1. <c:set var="score">85</c:set>  
  2. <c:choose>  
  3. <c:when test="${score>=90}">  
  4. 你的成绩为优秀!  
  5. </c:when>  
  6. <c:when test="${score>=70&&score<90}">  
  7. 您的成绩为良好!  
  8. </c:when>  
  9. <c:when test="${score>60&&score<70}">  
  10. 您的成绩为及格  
  11. </c:when>  
  12. <c:otherwise>  
  13. 对不起,您没有通过考试!  
  14. </c:otherwise>  
  15. </c:choose>  


=======================================================================================================================================================================


  到此为止,除了<c:param>标签外,JSTL核心标签库的所有标签都讲完了,

<c:param>标签在<c:url>、<c:import>、 <c:redirect>示例中都有用到过,用法很简单就不说了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值