JSP标签 jstl 的常用方法

使用Java Web开发时,会经常使用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"  onclick="return com.whuang.hsj.confirmDelete('确定要导出吗?')"  >导 出(快)</a>&nbsp;  
  3. <a href="<%=path%>/orders/exportSlow" class="daoc"  onclick="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://Java.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>  

 

时间: 2024-11-25 02:17:30

JSP标签 jstl 的常用方法的相关文章

JSP标签JSTL(5)--常用的标签函数

在使用JSTL的标签函数的时候请务必加上如下代码 <!-- 添加jsp标签的核心库 --> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 否则是没有办法使用到这些函数的

JSP标签JSTL的使用(1)--表达式操作

单纯的使用jsp脚本来进行逻辑处理,显得代码很是杂乱.为了更加简洁也为了便于代码的阅读,于是JSTL应运而生. 库文件下载地址: 我自己上传的一份压缩文件,里面包含了所有需要的jar包,而且不需要积分.下载地址 到官网上去直接下载直接下载那个标准的zip文件解压即可 使用库文件之前最为重要的是加入便签库文件声明 <!-- prefix的作用是将名称空间URI映射到名称空间前缀 --> <%@ taglib uri="http://java.sun.com/jsp/jstl/co

JSP标签JSTL(2)--流程控制

对于流程控制,单纯的用jsp脚本,显得很是繁琐,尤其是遇到if判断的时候,写代码的时候就需要特别的小心,因为极有可能会出现符号不匹配的状况.但是利用标签语言就会大大的改善这一状况. 流程控制 if标签 when标签 choose标签 otherwise标签 先来看一看if标签的使用 <form action="IfDemo.jsp" method="post"> <hr> <h1>写上你的信息啊!</h1> <i

JSP标签JSTL(4)--URL

<c:url>标签作用是将一个URL地址格式化为一个字符串,并且保存在一个变量当中.它具有URL自动重写功能.value指定的URL可以是当前工程的一个URL地址,也可以是其他web工程的URL.但是这时需要context属性.也可以添加需要传递的参数. 属性 var :变量名称 value:要格式化的URL scope:作用域范围,默认为page context:其他工程路径 可以直接指出一个URL的绝对路径,也可以配合条件标签动态的生成一个url路径 <!-- url标签的用法 --

JSP标签JSTL(3)--迭代操作

简单点说,<c:forEach>标签的作用就是迭代输出标签内部的内容.它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数. <!--语法使用如下--> <c:forEach var="name" items="expression" varStatus="name" begin="expression" end="expression" step=&qu

JSP使用JSTL标签时报错,用的是jstl1.2.jar jdk为jdk1.6

问题描述 JSP使用JSTL标签时报错,用的是jstl1.2.jar jdk为jdk1.6 org.apache.jasper.JasperException: /list.jsp(14,2) According to TLD or attribute directive in tag file, attribute items does not accept any expressions 解决方案 没有接收到表达式,,,看你jstl怎么写的

jsp 标签库使用小结 JSTL EL表达式 JSP的标签分类

                                                                       jsp标签库的使用 标签: 可以理解成标记,或是变量,小学数学里的X JSP的标签分类:           JSP基本标签:<%!%>.......           JSP指令标签:<%@ page import........%>.<%@ include file=""%>           JSP动

javaeye-没找到问题在哪!!大神帮忙看一下代码(JSP使用JSTL的c:forEach标签显示数据怎么不管用

问题描述 没找到问题在哪!!大神帮忙看一下代码(JSP使用JSTL的c:forEach标签显示数据怎么不管用 <form name="myform" method="post" action="newstypeservlet?op=batchDelete"> <table border="1"> <tr> <th>编号</th> <th>类型名</t

怎样设置jsp标签中的时间格式,具体全面一点,谢谢!

问题描述 怎样设置jsp标签中的时间格式,具体全面一点,谢谢! 在jsp中怎样设置jsp标签时间格式,具体点,全面点,刚实习,所以不是很懂,谢谢,求大神解答啊,希望能详细一点,主要是jsp的内容 解决方案 1.jsp中引入 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 2.使用格式 /fmt:formatDate