1. 程式人生 > >用JSTL標準標籤庫定義一個九九乘法表(設定表格顏色間隔)

用JSTL標準標籤庫定義一個九九乘法表(設定表格顏色間隔)

九九乘法表的輸出是一個很經典的迴圈輸出例子,從接觸編碼開始,就在不斷地學習。那麼在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'}">

執行的效果圖: