JSP&&EL&&JSTL
- 2020 年 7 月 14 日
- 筆記
- javaWEB學習過程
-
全稱:Java Server Page,使用java語言編寫的運行在服務器端上的頁面。
-
原理:JSP本質上就是一個Servlet。
-
腳本:
<% 代碼 %>:定義的java代碼,在service方法中。service方法中可以定義什麼,該腳本中就可以定義什麼。
<%! 代碼 %>:定義的java代碼,在jsp轉換後的java類的成員位置。
<%= 代碼 %>:定義的java代碼,會輸出到頁面上。輸出語句中可以定義什麼,該腳本中就可以定義什麼。 -
九個內置對象
變量名 真實類型 作用 pageContext PageContext 當前頁面共享數據,還可以獲取其他八個內置對象 request HttpServletRequest 一次請求訪問的多個資源(轉發) response HttpServletResponse 響應對象 session HttpSession 一次會話的多個請求間 application ServletContext 所有用戶間共享數據 page Object 當前頁面(Servlet)的對象 this out JspWriter 輸出對象,數據輸出到頁面上 config ServletConfig Servlet的配置對象 exception Throwable 異常對象 -
指令
-
作用:用於配置JSP頁面,導入資源性文件。
-
格式:
<%@ 指令名稱 屬性名1=屬性值1 屬性名2=屬性值2 ... %>
-
分類:
-
page:配置JSP頁面的
-
contentType:等同於response.setContentType()
-
設置響應體的mime類型以及字符集
-
MIME(Multipurpose Internet Mail Extensions)多用途互聯網郵件擴展類型 : 大範圍類型/小範圍類型 text/html
-
-
import:導包
-
errorPage:當前頁面發生異常,會自動跳轉到指定的錯誤頁面。
-
isErrorPage:標識當前也是是否是錯誤頁面。
-
true:是,可以使用內置對象exception
-
false:否。默認值。不可以使用內置對象exception
-
-
-
include:頁面包含的。導入頁面的資源文件
-
taglib:導入資源
-
prefix:前綴,自定義的
-
<%@ taglib prefix="c" uri="//java.sun.com/jsp/jstl/core" %>
-
-
-
-
注釋:
-
<!– html注釋 –>:在源碼級別可以看到
-
<%– java注釋 –%>:在源碼級別不可見
-
EL表達式
-
概念:Expression Language 表達式語言
-
作用:替換和簡化jsp頁面中java代碼的編寫
-
注意:
-
jsp默認支持el表達式的。如果要忽略el表達式
-
-
\${表達式} :忽略當前這個el表達式
-
-
-
語法:${表達式} —>表達式是一個具體的值。
-
運算符
-
算數運算符: + – * /(div) %(mod)
-
比較運算符:> < >= <= == !=
-
邏輯運算符:&&(and) ||(or) !(not)
-
空運算符:empty
-
功能:用於判斷字符串、集合、數組對象是否為null或者長度是否為0
-
${empty list}:判斷字符串、集合、數組對象是否為null或者長度為0
-
${not empty str}:表示判斷字符串、集合、數組對象是否不為null 並且 長度>0
-
-
-
獲取值
-
el表達式只能從域對象中獲取值
-
默認從小範圍向大範圍查找獲取值
-
語法:
-
${域名稱.鍵名}:從指定域中獲取指定鍵的值
-
pageScope –> pageContext
-
requestScope –> request
-
sessionScope –> session
-
applicationScope –> application(ServletContext)
-
-
${鍵名}:表示依次從最小的域中查找是否有該鍵對應的值,直到找到為止。
-
獲取對象、List集合、Map集合的值
-
對象:${域名稱.鍵名.屬性名} 本質上會去調用對象的getter方法
-
List集合:${域名稱.鍵名[索引]}
-
Map集合:
-
${域名稱.鍵名.key名稱}
-
${域名稱.鍵名[“key名稱”]}
-
-
-
-
-
隱式對象:
-
el表達式中有11個隱式對象
-
pageContext:
-
獲取jsp其他八個內置對象
-
${pageContext.request.contextPath}:動態獲取虛擬目錄
-
-
-
-
JSTL
-
概念:JavaServer Pages Tag Library JSP標準標籤庫
-
是由Apache組織提供的開源的免費的jsp標籤 <標籤>
-
-
作用:用於簡化和替換jsp頁面上的java代碼
-
常用的JSTL標籤:
-
if:相當於java代碼的if語句
-
test 必須屬性,接受boolean表達式
-
c:if標籤沒有else情況,想要else情況,則可以在定義一個c:if標籤
-
-
choose:相當於java代碼的switch語句
-
使用choose標籤聲明相當於switch聲明
-
使用when標籤做判斷相當於case
-
使用otherwise標籤做其他情況的聲明相當於default
-
-
使用otherwise標籤做其他情況的聲明 相當於default使用otherwise標籤做其他情況的聲明 相當於default
-
foreach:相當於java代碼的for語句。
-