用JSTL標準標籤庫定義一個九九乘法表(設定表格顏色間隔)
阿新 • • 發佈:2019-02-01
九九乘法表的輸出是一個很經典的迴圈輸出例子,從接觸編碼開始,就在不斷地學習。那麼在jstl標籤庫中怎麼進行這個例子輸出呢?
在jstl中用到了<c:forEach>迭代標籤,首先了解一下forEach標籤吧:forEach包含的屬性:var,items,varStatus,begin,end,step
<c:forEach [var=”varName”]items=”collection” [varStatus=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”]></c:forEach>
詳細解釋:
[]包括的內容是可有可無的,沒有[]包含的表示必須要寫的屬性
var:不支援el表示式,是String字串型別,作用是決定是否處理標籤體內容;
items:支援el表示式,可以是陣列、字串和各種集合型別,放置將要迭代的集合物件
varStatus:不支援el表示式,是String字串型別,表示迭代的狀態,可以獲得迭代自身的資訊
begin:支援el表示式,int型,如果指定begin屬性,就從item下表為begin的位置開始迭代,相當於for迴圈裡的=賦值;若沒有指定begin屬性,就從0下標開始迭代
end:支援el表示式,int型,如果指定end屬性,就在item下標為end的位置結束迭代,相當於for迴圈裡的<=;若沒有指定end屬性,將迭代到item最後位置
step:支援el表示式,int型,預設的步長是1,相當於for迴圈裡的++。如果指定step屬性值,就把指定值作為步長
java中的九九乘法表輸出程式碼:
for (int i = 1; i <= 9; i++) {
for(int j=1;j<=i;j++){
int k=i*j;
System.out.print(j+"*"+i+"="+k+"\t");
}
System.out.println("\n");
}
用jstl標籤寫的程式碼,並輸入表格:
<table width="60%">
<!-- 迴圈輸出1~9之間的數字 -->
<!-- varStatus判斷迭代次數 -->
<c:forEach var="itemi"begin="1" end="9"varStatus="status">
<tr>
<c:forEach var="itemj"begin="1" end="${itemi}"varStatus="status">
<td>
<c:out value="${itemj}*${itemi}=${itemi*itemj}"></c:out>
</td>
</c:forEach>
</tr>
</c:forEach>
</table>
新增顏色間隔的css檔案:
<!-- 設定間隔顏色 -->
<style type="text/css">
.even {
background-color: red
}
.odd {
background-color: yellow
}
<!--滑鼠移動到時,顯示的顏色-->
tr:hover {
background-color: blue
}
</style>
將css程式碼新增到表格中:
<!--三目運算子的使用,迭代偶數次時,該行顯示odd的顏色;迭代奇數次時,該行顯示even的顏色-->
<tr class="${status.count%2==0?'odd':'even'}">
執行的效果圖: