javascript
JSTL核心标签超详细
1.JSTL介紹
JSTL(JavaServer Pages Standard Tag Library,JSP標準標簽庫)是一個JSP標簽集合,它封裝了JSP應用的通用核心功能。
JSTL支持通用的、結構化的任務,比如迭代,條件判斷,XML文檔操作,國際化標簽,SQL標簽。 除了這些,它還提供了一個框架來使用集成JSTL的自定義標簽。
2.JSTL的使用及分類
要使用JSTL,首先要先下載好jar包,點擊這里進行下載,下載好后,導入項目的WEN-INF的lib目錄下即可,當然,要在jsp中使用JSTL,還得使用@taglib標簽,不過不同的分類情況不一樣,下面我們來看看JSTL標簽的分類。
可以分為4大類和JSTL函數
- 核心標簽
- 格式化標簽
- SQL標簽
- XML標簽
- JSTL函數
本文主要介紹核心標簽和JSTL函數。
3.五類標簽的簡介
核心標簽:
在JSP文件開頭使用如下語法
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>格式化標簽:
在JSP文件開頭使用如下語法
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>SQL標簽:
在JSP文件開頭使用如下語法
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>XML標簽:
在JSP文件開頭使用如下語法
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>JSTL函數:
在JSP文件開頭使用如下語法
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>下面正式開始介紹核心標簽。
4.JSTL核心標簽
核心標簽庫共有14個標簽,從功能上分為4類
- 表達式控制標簽:out,set,remove,catch
- 流程控制標簽:if,choose,when,otherwise
- 循環標簽:forEach,forTokens
- URL操作標簽:import,url,redirect,param
下面開始一個一個介紹。都配代碼。
1. out標簽的用法
用于在JSP中顯示數據,就像<%= … >
輸出
第一個JSTL小程序 error <CodeTiger>2.set標簽的用法
用于保存數據
輸出
CodeTiger liu CodeTiger NJUPT3.remove標簽的用法
用于刪除數據
輸出
xiaop4.catch標簽的用法
用來處理產生錯誤的異常狀況,并且將錯誤信息儲存起來
輸出
javax.servlet.jsp.JspTagException5.if標簽的用法
與我們在一般程序中用的if一樣
輸出
6.choose,when,otherwise標簽的用法
這三個合在一起講,有點類似switch case default。
choose:本身只當做<c:when>和<c:otherwise>的父標簽
when:<c:choose>的子標簽,用來判斷條件是否成立
otherwise:<c:choose>的子標簽,接在<c:when>標簽后,當<c:when>標簽判斷為false時被執行
接上面的form表單
輸出
7.forEach標簽的用法
基礎迭代標簽,接受多種集合類型
輸出
liu xu Code Tiger ======================== xu Code Tiger ======================== xu Tiger ======================== liu index:0 count:1 first:true last:false ----------------- xu index:1 count:2 first:false last:false ----------------- Code index:2 count:3 first:false last:false ----------------- Tiger index:3 count:4 first:false last:true ----------------- ========================上面的varStatus屬性,有index、count、first、last這幾個狀態。
8.forTokens標簽的用法
根據指定的分隔符來分隔內容并迭代輸出
輸出
010 12345 6789.import標簽的用法
檢索一個絕對或相對 URL,然后將其內容暴露給頁面
該標簽和<jsp:include>的區別:<jsp:include>只能包含同一個web應用中的文件,而<c:import>可以包含其他web應用中的文件,甚至是網絡上的資源。
該標簽只是把URL屬性中的資源加載到頁面中,URL地址欄的地址不會改變。
<!-- import標簽的用法 絕對路徑--> <c:catch var="error1"> <c:import url="http://www.codeliu.com"></c:import> </c:catch> <c:out value="${error1}"></c:out><br> <!-- 相對路徑 --> <c:catch var="error2"> <c:import url="test.txt" charEncoding="gbk" scope="session" var="test"></c:import> </c:catch> <c:out value="${error2}"></c:out> <c:out value="${sessionScope.test}"></c:out><br> <!-- 使用context屬性 ,前面要加/,導入MyFirstJSP項目中的index.jsp頁面--> <c:catch var="error3"> <c:import url="/index.jsp" context="/MyFirstJSP"></c:import> </c:catch> <c:out value="${error3}"></c:out><br>10.redirect,param標簽的用法
redirect:重定向至一個新的URL.同時可以在url中加入指定的參數
param:用來給包含或重定向的頁面傳遞參數
該標簽會使URL地址欄的地址發生改變。可通過EL表達式的param對象來獲取傳遞的參數值。
<c:out value="${param.username}"></c:out><br> <c:out value="${param.password}"></c:out><br>輸出
liu 12345611.url標簽的用法
使用可選的查詢參數來創造一個URL
<c:url>標簽將URL格式化為一個字符串,然后存儲在一個變量中。
這個標簽在需要的時候會自動重寫URL。
var屬性用于存儲格式化后的URL。
<c:url>標簽只是用于調用response.encodeURL()方法的一種可選的方法。它真正的優勢在于提供了合適的URL編碼,包括<c:param>中指定的參數。
<!-- url標簽的用法 --> <a href = "<c:url value = "http://www.codeliu.com"/>">這個鏈接通過<c:url>生成</a>輸出
這個鏈接通過<c:url>生成我們看看網頁源代碼
5.JSTL函數的使用
函數在上面已經列出來了,我就選了幾個寫了一下,其實和String的都差不多。不過要記得先在前面引入
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>測試以下幾個函數
<c:out value="${fn:contains('Hello world', 'Hello')}"></c:out><br> <c:out value="${fn:contains('Hello world', 'aaaa')}"></c:out><br> <c:out value="${fn:containsIgnoreCase('Hello world', 'hello')}"></c:out><br>輸出
true false true好了,大概也就說這么多了。
個人博客http://www.codeliu.com,歡迎各位志同道合的小伙伴!
總結
以上是生活随笔為你收集整理的JSTL核心标签超详细的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java逐帧动画播放器V0.1.0
- 下一篇: 【详解】EL表达式和JSTL标签库的使用