一、EL表達式
什么是EL表達式
- EL(Express Lanuage)表達式可以嵌入在jsp頁面內部
- 減少jsp腳本的編寫
- EL出現的目的是要替代jsp頁面中腳本的編寫。
EL表達式的作用
- EL最主要的作用是獲得四大域中的數據
// 1. pageContext
${pageScope.key};
// 2. request
${requestScope.key}
// 3. session
${sessionScope.key}
// 4. application
${applicationScope.key}
EL表達式的簡寫
- EL從四個域中獲得某個值${key}
- 依次從pageContext域,request域,session域,application域中 獲取屬性,在某個域中獲取后將不在向后尋找
EL內置11對象
pageScope : 獲取JSP中pageScope域中的數據
requestScope : 獲取JSP中requestScope域中的數據
sessionScope : 獲取JSP中sessionScope域中的數據
applicationScope : 獲取JSP中applicationScope域中的數據
pageContext : pageContext獲得其他八大對象獲取當前項目的名稱 : ${pageContext.request.contextPath}
以下6個對象很少用到:
param : request.getParameter()
paramValues : rquest.getParameterValues()
header : request.getHeader(name)
headerValues : request.getHeaderValues()
initParam : this.getServletContext().getInitParameter(name)
cookie : request.getCookies()---cookie.getName()---cookie.getValue()
EL執行表達式
內部可以進行運算,只要有結果
${1+1}
${empty user} <!-- 判斷user是否為空 -->
${user==null?true:false}
二、JSTL標準標簽庫
什么是JSTL
- JSTL(JSP Standard Tag Library),JSP標準標簽庫
- 可以嵌入在jsp頁面中使用標簽的形式完成業務邏輯等功能
- JSTL出現的目的同EL表達式一樣也是要代替jsp頁面中的腳本代碼
JSTL標準標簽庫有5個子庫
核心庫:
Core http://java.sun.com/jsp/jstl/core 前綴:c
國際化庫:
I18N http://java.sun.com/jsp/jstl/fmt 前綴:fmtSQL http://java.sun.com/jsp/jstl/sql 前綴:sql
XML http://java.sun.com/jsp/jstl/xml 前綴:x
Functions http://java.sun.com/jsp/jstl/functions 前綴:fn
把JSTL標簽庫jar包引入工程當中
將 jstl-1.2.jar 導入lib文件夾下
引入標簽庫
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
if 標簽
<c:if test="${1==1 }">滿足條件時,中間的內容才會顯示出來</c:if>
通過是結合EL表達式一起使用,EL從域中取數據,使用JSTL進行判斷或者遍歷。
if標簽使用
- 需求:用戶登錄成功時, 進入首頁中,顯示用戶名
- 步驟
- 1.登錄成功時,把用戶寫到session域當中
- 2.在首頁當中進行判斷,從session域當中取數據
- 3.通過EL結合JSTL進行判斷
foreach標簽
第一種:普通循環
第二種:增加for循環
- 遍歷字符串集合
- 遍歷對象集合
- 遍歷map