博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP标签 jstl 的常用方法
阅读量:6070 次
发布时间:2019-06-20

本文共 3714 字,大约阅读时间需要 12 分钟。

使用开发时,会经常使用jstl,它是一个轻量级的标签库,不像struts2 那样庞大.

现在总结jstl的常用场景

(1)如何在页面中引入jstl库

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

 

(2)截取字符串

Java代码  
  1. <td>${fn:substring(ordersDetail.toothOrders.inDate,0,19)   }</td>  

 

(3)判断用户是否已经登录

Java代码  
  1.  <c:if test="${sessionScope.logined!=null && sessionScope.user.role_id=='1'}">  
  2.             <a href="<%=path%>/orders/export" class="daoc"  οnclick="return com.whuang.hsj.confirmDelete('确定要导出吗?')"  >导 出(快)</a>&nbsp;  
  3. <a href="<%=path%>/orders/exportSlow" class="daoc"  οnclick="return com.whuang.hsj.confirmDelete('确定要导出吗(包含产品详情)?')" >导 出(慢)</a>  
  4. </c:if>  

 

(4)判断变量

Java代码  
  1. <c:choose>  
  2.           
  3.                     <c:when test="${view.totalRecords==0}"><font color="#df625c">0</font> </c:when>  
  4.                     <c:otherwise>  
  5.                         ${view.totalRecords }  
  6.                     </c:otherwise>  
  7.                 </c:choose>  
  8.   
  9. <c:choose>  
  10.                     <c:when test="${fn:length(ordersDetail.valid)==0 ||fn:length(fn:trim(ordersDetail.valid))==0 }">无</c:when>  
  11.                     <c:otherwise>${ordersDetail.valid }</c:otherwise>  
  12.                 </c:choose>  

 (5)c:forEach 的begin 是从零开始的

注意:c:forEach 的begin 不是从1 开始的

Java代码  
  1. <table class="frontproductTable" >  
  2. <tr>  
  3. <c:forEach  begin="1" end="2"   varStatus="status">  
  4. <td class="frontproduct" >  
  5.                 <table  cellspacing="0" border="0">  
  6.                         <c:forEach var="orders" begin="${(status.count-1)*5 }" end="${(status.count)*5-1 }"  items="${view.recordList}"  
  7.                             varStatus="status">  
  8.                             <tr>  
  9.                                 <td rowspan="1">  
  10.                                 <a href="<%=path%>/index/product_detail?id=${orders.id }" >  
  11.                                 <img width="280px" alt=""  
  12.                                     src="<%=path%>${orders.picPath }" style="width:300px; height:300px; margin:0 20px 10px 10px; border:1px solid #ccc; float:left;">  
  13.                                 </a>  
  14.                                 </td>  
  15.                                 <td rowspan="1">  
  16.                                     <table  >  
  17.                                       
  18.                                       
  19.                                         <tr>  
  20.                                             <td valign="top"><strong>产品名称:</strong></td>  
  21.                                             <td>${orders.itemname }</td>  
  22.                                         </tr>  
  23.                                           
  24.                                         <tr>  
  25.                                             <td colspan="2" ><strong>产品详情:</strong></td>  
  26.                                               
  27.                                         </tr>  
  28.                                         <tr>  
  29.                                               
  30.                                             <td colspan="2" >${orders.desc }</td>  
  31.                                         </tr>  
  32.                                     </table>  
  33.                                 </td>  
  34.                             </tr>  
  35.                         </c:forEach>  
  36.   
  37.   
  38.   
  39.                     </table></td>  
  40.   
  41. </c:forEach>  
  42.     </tr>  
  43. </table>  

 

(6)获取ArrayList的第一个元素

Html代码  
  1. <div class="slider-item"><img src="<%=path%>${carouselDiagrams[0].picPath}"/></div>  
  2.              <c:forEach var="carouselDiagram" begin="1" items="${carouselDiagrams}" varStatus="status">  
  3.          <div class="slider-item"><img id="img_id_${status.count}" />  </div>  
  4.          
  5.                 </c:forEach>  

 

(7)获取List的长度

Html代码  
  1. <ul id="slider_nav">  
  2.                          <c:forEach begin="1" step="1"  end="${fn:length(carouselDiagrams) }" >  
  3.                            <li><a href="#"></a></li>  
  4.                            </c:forEach>  
  5.                          </ul>  

注意:fn:length 在<%@ taglib prefix="fn" uri="http://.sun.com/jsp/jstl/functions"%>中.

 (8)让c:forEach 按照顺序输出

Html代码  
  1. <c:forEach    begin="1" step="1"  end="${fn:length(list) }" varStatus="status" >  
  2.         <li>  
  3.          <label>${list[status.count-1].description }:</label>  
  4.          ${list[status.count-1].value }   
  5.          <label>  </label>  
  6.      </li>  
  7.         </c:forEach>  

 (9)循环

Html代码  
  1. <c:forEach      items="${commonDictionaries }" var="commonDictionary"  varStatus="status" >  
  2.                             <section  >  
  3.                                 <a href="#" ><h3>${commonDictionary.value } <span style="display: none" >></span> </h3></a>  
  4.                             </section>  
  5.                             </c:forEach>   

 

Html代码  
  1. <c:forEach varStatus="status" items="${view.recordList }"  
  2.             var="paperNews">  
  3.             <li style="margin-right: 10px"><!--<a href="#"><img src="${paperNews.pic }"  
  4.                     alt="${paperNews.title }" class="alignleft" /></a>  
  5.                 <p>  
  6.                     <span>发表日期${paperNews.releaseTimeStr }</span> <a href="#">${paperNews.title }</a>  
  7.                 </p>  <span class="rating"><span style="width: 80%;"></span></span> -->  
  8.                 <img src="${paperNews.pic }" alt="${paperNews.title }" class="alignleft aHref"  onclick="tabSelect('<%=path%>/news/${paperNews.id }?1=1',this,false)"  />  
  9.                                     <h6 class="regular"><a  class="aHref" onclick="tabSelect('<%=path%>/news/${paperNews.id }?1=1',this,false)"  >${paperNews.title }</a></h6>  
  10.                                     <span class="meta">${paperNews.releaseTimeStr }   <!-- \\   <a href="#">World News.</a>   \\   <a href="#">No Coments.</a> --></span>  
  11.                                     <p>${fn:substring(paperNews.content,0,60)}...</p>  
  12.                 </li>  
  13.                   
  14.                   
  15.         </c:forEach>  

 

转载地址:http://pnbgx.baihongyu.com/

你可能感兴趣的文章
mysql relay_log_recovery relay_log_info_repository
查看>>
【直击2017杭州·云栖大会】TECH INSIGHT企业迁云实战专场
查看>>
[干货]作为大数据入门者,你不得不知道的2017杭州云栖大会
查看>>
2017易观OLAP算法大赛
查看>>
PYTHON设计模式,创建型之简单工厂模式
查看>>
认识ASP.NET MVC的5种AuthorizationFilter
查看>>
递归sql的功率到达MySQL和MariaDB
查看>>
实用 | 从Apache Kafka到Apache Spark安全读取数据
查看>>
Oracle常用语句语法汇总
查看>>
保证系统性质相符 首推模型检验技术
查看>>
C++ 大端小端
查看>>
[WCF-Discovery]让服务自动发送上/下线通知[实例篇]
查看>>
ios编码规范(by raywenderlich团队,靠谱)
查看>>
Firefox 23.0新版浏览器的变化比较大,你如果经常捣鼓firefox的选项卡的人可能已经发现了,选项卡很多地方多有所改变。...
查看>>
【高质量代码】如何写出更高质量的C/C++代码(1):内存管理
查看>>
中国人工智能学会通讯——人类作为“情感机器”——效用函数、情绪和社会偏好...
查看>>
深拓移动运营商市场 博科的发力点是什么?
查看>>
Shodan跟威胁情报公司Recorded Future搞了一个恶意软件猎手 爬虫能扫描僵尸网络C&C服务器...
查看>>
性能优异 联想System x3250 M6助力中小企业腾飞
查看>>
只有程序员才了解的9个真相!
查看>>