Web 基礎17 JSP之JSTL入門
1.1 JSTL簡介
JSTL(JavaServer Pages Standard Tag Library,JSP標準標籤庫)是一個不斷完善的開放原始碼的JSP標籤庫,是由apache的jakarta小組來維護的。JSTL只能執行在支援JSP1.2和Servlet2.3規範的容器上,如tomcat 4.x。在JSP 2.0中也是作為標準支援的。
- JSTL由開源組織Apache所提供和維護,
- JSTL主要作用是移除JSP頁面中的Java程式碼,
- JSTL提供了一系列的標籤庫,主要使用JSTL的核心標籤庫。
- 使用步驟
- 將JSTL的相關jar包匯入到WEB-INF/lib
- 在JSP頁面中使用taglib指令匯入標籤庫
- 在JSP頁面中使用標籤庫裡的標籤
匯入標籤指令
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
先使用這個包別記錯了
prefic 相當與別名
1.2 IF標籤
- jsp標準標籤庫
- xml庫
- jdbc庫
- 國際化庫
- jsp 本來是 有很多功能的 現在已經不使用了 但是jsp的標準標籤庫還在使用
- 設定資料標籤 set
- var: 宣告一個變數
- value:給這個變數賦值
- Scope:放在什麼位置
<c:set var="num" value="5" scope="page"></c:set>
- if標籤
test:接El表示式,如果結果為true執行標籤體裡面的東西
注意:if標籤裡面沒有else功能
<c:if test="${num > 3}">
<h1>黑馬程式設計師</h1>
</c:if>
- 練習
- 判斷session域物件中username的值是否等於itbear,如果是則顯示歡迎登陸,否則顯示使用者名稱錯誤!
<c:set var="it" value="itbear" scope="session" ></c:set>
<c:if test="${it=='itbear'}" >
<h1>歡迎光臨</h1>
</c:if>
<c:if test="${it!='itbear'}" >
<h1>使用者名稱錯誤!</h1>
</c:if>
1.3 choose標籤
- 與switch類似,可以有多個條件判斷
- choose標籤按照順序判斷內部的when標籤裡面的test條件是否成立,如果有一個成立,結束choose標籤.當choose裡面所有的
- when標籤都不成立時候,則會執行otherwise裡面的語句
格式 (改寫上面這個條件)
<c:choose>
<c:when test="${username == 'itbear'}">
<h1>歡迎登陸!</h1>
</c:when>
<c:otherwise>
<h1>使用者名稱錯誤!</h1>
</c:otherwise>
</c:choose>
- 練習 :
- 根據交通訊號燈做出不同的反應
<c:set var="color" value="yellow" scope="session"></c:set>
<c:choose>
<c:when test="${color =='red' }">
<h1>stop</h1>
</c:when>
<c:when test="${color =='green' }">
<h1>pass</h1>
</c:when>
<c:otherwise>
<h1>wait</h1>
</c:otherwise>
</c:choose>
1.4 forEach標籤
- 主要作用是對陣列物件或者集合物件進行遍歷的操作,
- 通常和EL表示式組合使用,
- forEach標籤所遍歷的通常是域物件中的陣列物件或者集合物件。
- 第一種:類似普通的for迴圈
- begin 從幾開始遍歷 end:遍歷到幾 var:宣告一個變數 額外屬性 step 步長
<c:forEach begin="1" end="100" var="i" step="2">
${i }<br>
</c:forEach>
- 第二種:類似增強for迴圈
- item:等待遍歷的集合或者是陣列物件 var:遍歷的臨時變數
<%
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
request.setAttribute("list", list);
%>
<c:forEach items="${list }" var="i">
${i } <br>
</c:forEach>
- varStatus:用來宣告一個記錄遍歷狀態的變數
- 他有兩個屬性
- count:統計當前遍歷了幾次(做表格的時候可以生成前面的序號)
- index:統計當前遍歷元素的索引
<c:forEach items="${list }" var="i" varStatus="status">
${status.count }--list[${status.index }]--${i } <br>
</c:forEach>
相關文章
- JavaWeb基礎Day17 (JSP EL表示式 jstl標籤庫 beanutil工具類)JavaWebJSBean
- 【WEB基礎】HTML & CSS 基礎入門(7)表格WebHTMLCSS
- TypeScript 之基礎入門TypeScript
- 【WEB基礎】HTML & CSS 基礎入門(8)表單WebHTMLCSS
- 【WEB基礎】HTML & CSS 基礎入門(1)初識WebHTMLCSS
- 【WEB基礎】HTML & CSS 基礎入門(9)CSS盒子WebHTMLCSS
- RabbitMQ 入門之基礎概念MQ
- OpenStack入門之基礎元件元件
- ios基礎之入門(一)iOS
- 【WEB基礎】HTML & CSS 基礎入門(3)段落及文字WebHTMLCSS
- 【WEB基礎】HTML & CSS 基礎入門(6)超連結WebHTMLCSS
- JSTL基礎用法JS
- 【WEB基礎】HTML & CSS 基礎入門(4)列表及其樣式WebHTMLCSS
- 【WEB基礎】HTML & CSS 基礎入門(10)佈局與定位WebHTMLCSS
- 【WEB基礎】HTML & CSS 基礎入門(5)邊框與背景WebHTMLCSS
- Hadoop 基礎之 HDFS 入門Hadoop
- Service Mesh之Istio基礎入門
- JSP三(JSTL)JS
- 容器技術之Docker基礎入門Docker
- Java入門之基礎程式設計Java程式設計
- 一、Ansible基礎之入門篇
- 帆軟基礎之填報入門
- OpenStack入門之各元件解析(基礎)元件
- JSP&&EL&&JSTLJS
- vue 基礎入門筆記 17:路由傳參的兩種方式Vue筆記路由
- CTF入門學習2->Web基礎瞭解Web
- CTF入門學習3->Web通訊基礎Web
- Flutter 入門指北(Part 2)之基礎部件Flutter
- Python入門之基礎知識(一)Python
- WebSocket系列之基礎知識入門篇Web
- RabbitMQ基礎入門MQ
- mongodb基礎入門MongoDB
- MySQL 基礎入門MySql
- ZooKeeper 基礎入門
- Elasticsearch 基礎入門Elasticsearch
- Vim 入門:基礎
- Bootstrap基礎入門boot
- Html基礎入門HTML