jsp中c标签的详细使用

jsp中c标签的使用

JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。

 

JSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版。JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库。

Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性、维护性和方便性。

JSTL 1.1必须在支持Servlet 2.4且JSP 2.0以上版本的Container才可使用

 

 

<%@ taglib %>引入标签库

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

1、以classPath中,加入jar包:  standard-1.1.2.jar ,  jstl-1.1.2.jar

 

2、在相目\WEB-INF\tld\文件夹中放入常用的tld文件:c.tld,fmt.tld

 

3、在jsp文件的顶部加入以下内容:

Java代码   收藏代码
  1. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>   
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>  
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>  

 

 

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




<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:forEach-----------<br>
    <c:forEach var="i" begin="1" end="20" step="2">
     ${i }&nbsp;&nbsp;
    </c:forEach><br>
   
    <%
     List persons = new ArrayList();
     Set set = new HashSet();
     Map map = new HashMap();
     
     for(int i = 0; i < 10; i++){
      Person p = new Person();
      p.setId("100" + i);
      p.setAge(20 + i);
      
      p.setEmail("_" + i + "_email@sina.com");
      p.setName("_" + i + "_name");
      
      persons.add(p);
      set.add(p);
      map.put(i, p);
     }
     
     request.setAttribute("persons", persons);
     pageContext.setAttribute("map", map);
    %>
          遍历 List:<br>
    <c:forEach items="${requestScope.persons}" var="person" begin="0" end="9" step="3">
     ${person.id } -- ${person.name } -- ${person.email } -- ${person.age }<br>
    </c:forEach>
    <br>
          遍历 Set:<br>
    <c:forEach items="<%= set %>" var="person" varStatus="status">
     <c:if test="${status.index % 2 == 0}">
      <font color="blue">${person.id } -- ${person.name } -- ${person.email } -- ${person.age } === ${status.count }, ${status.index }, ${status.first }, ${status.last }</font><br>
     </c:if>
     <c:if test="${status.index % 2 != 0}">
      ${person.id } -- ${person.name } -- ${person.email } -- ${person.age } === ${status.count }, ${status.index }, ${status.first }, ${status.last }<br>
     </c:if>
    </c:forEach>
         遍历 Map:<br>
    <c:forEach items="${pageScope.map}" var="person">
     key: ${person.key} -- value: ${person.value.name } -- ${person.value.email } -- ${person.value.age }<br>
    </c:forEach>
        遍历字符串(使用 , 作为分隔符进行遍历):<br>
    <c:forEach items="a,b,c;d,e;f,g,h,i,j,k" var="str">
     ${str }&nbsp;&nbsp;
    </c:forEach>
    <br><br>
   

<c:forTokens> 标签

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

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

 

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

Html代码  
  • 13
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值