<JSP> 入門
阿新 • • 發佈:2018-12-19
1. 指令
* 作用:用於配置JSP頁面,匯入資原始檔
* 格式:
<%@ 指令名稱 屬性名1=屬性值1 屬性名2=屬性值2 ... %>
* 分類:
1. page : 配置JSP頁面的
* contentType
1. 設定響應體的mime型別以及字符集
2. 設定當前jsp頁面的編碼(只能是高階的IDE才能生效,如果使用低階工具,則需要設定pageEncoding屬性設定當前頁面的字符集)
* import
* errorPage:當前頁面發生異常後,會自動跳轉到指定的錯誤頁面
* isErrorPage:標識當前也是是否是錯誤頁面。
* true:是,可以使用內建物件exception
* false:否。預設值。不可以使用內建物件exception
2. include : 頁面包含的。匯入頁面的資原始檔
* <%@include file="top.jsp"%>
3. taglib : 匯入資源
* <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
* prefix:字首,自定義的
2.EL表示式
1. 概念:Expression Language 表示式語言
2. 作用:替換和簡化jsp頁面中java程式碼的編寫
3. 語法:${表示式}
4. 注意:
* jsp預設支援el表示式的。如果要忽略el表示式
1. 設定jsp中page指令中:isELIgnored="true" 忽略當前jsp頁面中所有的el表示式
2. \${表示式} :忽略當前這個el表示式
5. 使用:
1. 運算:
* 運算子:
1. 算數運算子: + - * /(div) %(mod)
2. 比較運算子: > < >= <= == !=
3. 邏輯運算子: &&(and) ||(or) !(not)
4. 空運算子: empty
* 功能:用於判斷字串、集合、陣列物件是否為null或者長度是否為0
* ${empty list}:判斷字串、集合、陣列物件是否為null或者長度為0
* ${not empty str}:表示判斷字串、集合、陣列物件是否不為null 並且 長度>0
2. 獲取值
1. el表示式只能從域物件中獲取值
2. 語法:
1. ${域名稱.鍵名}:從指定域中獲取指定鍵的值
* 域名稱:
1. pageScope --> pageContext
2. requestScope --> request
3. sessionScope --> session
4. applicationScope --> application(ServletContext)
* 舉例:在request域中儲存了name=張三
* 獲取:${requestScope.name}
2. ${鍵名}:表示依次從最小的域中查詢是否有該鍵對應的值,直到找到為止。
3. 獲取物件、List集合、Map集合的值
1. 物件:${域名稱.鍵名.屬性名}
* 本質上會去呼叫物件的getter方法
2. List集合:${域名稱.鍵名[索引]}
3. Map集合:
* ${域名稱.鍵名.key名稱}
* ${域名稱.鍵名["key名稱"]}
3. 隱式物件:
* el表示式中有11個隱式物件
* pageContext:
* 獲取jsp其他八個內建物件
* ${pageContext.request.contextPath}:動態獲取虛擬目錄
jstl
1. 概念:JavaServer Pages Tag Library JSP標準標籤庫
* 是由Apache組織提供的開源的免費的jsp標籤 <標籤>
2. 作用:用於簡化和替換jsp頁面上的java程式碼
3. 使用步驟:
1. 匯入jstl相關jar包
2. 引入標籤庫:taglib指令: <%@ taglib %>
3. 使用標籤
4. 常用的JSTL標籤
1. if:相當於java程式碼的if語句
1. 屬性:
* test 必須屬性,接受boolean表示式
* 如果表示式為true,則顯示if標籤體內容,如果為false,則不顯示標籤體內容
* 一般情況下,test屬性值會結合el表示式一起使用
2. 注意:
* c:if標籤沒有else情況,想要else情況,則可以在定義一個c:if標籤
2. choose:相當於java程式碼的switch語句
1. 使用choose標籤宣告 相當於switch宣告
2. 使用when標籤做判斷 相當於case
3. 使用otherwise標籤做其他情況的宣告 相當於default
3. foreach:相當於java程式碼的for語句