c:if的使用

在c:if內聲明一個變量,其他方法中可以直接調用

<c:forEach>中item對應迭代器名稱,意思是說一個list方到這裏會在這個循環內依次獲取這個list中每個元素的值,valStatus指該

例子:

<c:if test="${pageBean.inDate.wantWarehouse !=null}" var="testwantWarehouse">
<c:forEach var="sbss" items="${pageBean.data}" varStatus="lll">			
	${sbss.product_id}				
	<c:if test="${testwantWarehouse==true}">
			${sbss.warehouse_id}</
	</c:if>			
</c:forEach>
		

以下轉自https://blog.csdn.net/hu_xuefeng/article/details/51494250

我們常使用<c:forEach>標籤來遍歷需要的數據,爲了方便使用,varStatus屬性可以方便我們實現一些與行數相關的功能,如:奇數行、偶數行差異;最後一行特殊處理等等。varStatus屬性常用參數如下:

current:當前這次迭代的(集合中的)項
index:當前這次迭代從 0 開始的迭代計數
count:當前這次迭代從 1 開始的迭代計數
first:用來表明當前這輪迭代是否爲第一次迭代的標誌,返回true/false
last:用來表明當前這輪迭代是否爲最後一次迭代的標誌,返回true/false

 示例:代碼段1:

[html] view plain copy
  1. <span style="font-size:18px;"><span style="font-size:14px;"><!-- jstl核心標籤庫中的標籤c:forEach -->  
  2.             <c:forEach items="${list}" var="s" varStatus="abc">      
  3.                 <div id="div1">   
  4.                     ${abc.current}    
  5.                     <ul>  
  6.                         <li>學號:${s.id}</li>  
  7.                         <li>姓名:${s.name}</li>  
  8.                         <li>年齡:${s.age}</li>  
  9.                         <li>性別:${s.sex}</li>  
  10.                     </ul>  
  11.                 </div>  
  12.             </c:forEach></span>  
[html] view plain copy
  1. <span style="font-size:18px;"></span></span>  

在另一頁面中設置了傳遞的參數list爲request.setAttribute("list", students);

其中students爲ArrayList<Students>類型,students中包含了5組數據,格式如下所示,id分別爲1~5. 

 代碼段2:

[html] view plain copy
  1. <span style="font-size:18px;">    <student id="1">  
  2.         <name>李一X</name>  
  3.         <sex></sex>  
  4.         <age>20</age>  
  5.     </student></span>  

1)當代碼段1中爲${abc.current}時,顯示界面爲(注意最上面一行變化,後面類同):


2)當代碼段1中爲${abc.index}時,顯示界面爲(注意最上面一行變化,後面類同):


3)當代碼段1中爲${abc.count}時,顯示界面爲(注意最上面一行變化,後面類同):


4)當代碼段1中爲${abc.first}時,顯示界面爲(注意最上面一行變化,後面類同):


5)當代碼段1中爲${abc.last}時,顯示界面爲(注意最上面一行變化,後面類同):


另外可以結合<c:forEach>標籤的begin、end、step屬性控制輸出,其分別表示:起始序號,結束序號,跳躍步伐。

如將示例代碼段1改爲:
[html] view plain copy
  1. <c:forEach items="${list}" var="s" begin='0' end='4' step='2' varStatus="abc">    
  2.                 <div id="div1">   
  3.                     ${abc.count}    
  4.                     <ul>  
  5.                         <li>學號:${s.id}</li>  
  6.                         <li>姓名:${s.name}</li>  
  7.                         <li>年齡:${s.age}</li>  
  8.                         <li>性別:${s.sex}</li>  
  9.                     </ul>  
  10.                 </div>  
  11.             </c:forEach>  
結果如下:

說明:操作list集合共有5條數據,step="2"表明不是逐條循環,而是按步長爲2取值。即操作集合中的第1、3、5條數據(見學號),此處不要和左上角varStatus屬性(取值count)的輸出混淆.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章