用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'}">

運行的效果圖:

發佈了62 篇原創文章 · 獲贊 7 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章