JavaWeb筆記(五)JSP
阿新 • • 發佈:2019-04-06
循環 items 集合 item tps lib com list集合 輸出
JSP
指令
- 格式: <%@ 指令名稱 屬性名1=屬性值1 屬性名2=屬性值2 ... %>
- 分類:
- page 配置JSP頁面
- contentType:等同於response.setContextType()
- import:導包
- errorPage:當頁面發生異常後,會自動跳轉到指定的錯誤頁面
- isErrorPage:標識當前頁是否是錯誤頁面
- include:導入頁面資源
<%@include file="top.jsp"%>
- taglib:導入資源
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- prefix:前綴,自定義
- page 配置JSP頁面
註釋
- HTML註釋
<!-- -->
- JSP註釋:推薦使用
<%-- --%>
內置對象
變量名 | 真實類型 | 作用 |
---|---|---|
pageContext | PageContext | 當前頁面共享數據,還可以獲取其他八個內置對象 |
request | HttpServletRequest | 一次請求訪問的多個資源(轉發) |
session | HttpSession | 一次會話的多個請求間 |
application | ServletContext | 所有用戶間共享數據 |
response | HttpServletResponse | 響應對象 |
page | Object | 當前頁面(Servlet)的對象 this |
out | JspWriter | 輸出對象,數據輸出到頁面上 |
config | ServletConfig | Servlet的配置對象 |
exception | Throwable | 異常對象 |
EL
${表達式}
- jsp默認支持el表達式,設置page中的
isELIgnored="true"
忽略當前頁面中的所有el表達式 - ${表達式} :忽略當前這個el表達式
使用
- 空運算符: empty
- 判斷字符串、集合、數組對象是否為null或者長度是否為0
${empty list}
:判斷字符串、集合、數組對象是否為null或者長度為0${not empty str}
:表示判斷字符串、集合、數組對象是否不為null 並且 長度>0
- 獲取值
- 只能從域對象中獲取值 ${域名稱.鍵名}
- pageScope --> pageContext
- requestScope --> request
- sessionScope --> session
- applicationScope --> application(ServletContext)
- ${鍵名}:表示依次從最小的域中查找是否有該鍵對應的值,直到找到為止
- 獲取對象、List集合、Map集合的值
- 對象:${域名稱.鍵名.屬性名}
- 本質上會去調用對象的getter方法
List集合:${域名稱.鍵名[索引]}
- Map集合:
- ${域名稱.鍵名.key名稱}
- ${域名稱.鍵名["key名稱"]}
- 對象:${域名稱.鍵名.屬性名}
- 只能從域對象中獲取值 ${域名稱.鍵名}
${pageContext.request.contextPath}
:動態獲取虛擬目錄
JSTL
JSP標準標簽庫
使用步驟
- 導入jstl相關jar包
- 引入標簽庫:taglib
常用的JSTL標簽
if
<c:if test=""></c:if>
choose
<c:choose> <c:when test="">情況1</c:when> <c:when test="">情況2</c:when> <c:otherwise>其他情況</c:otherwise> </c:choose>
foreach
- 完成重復的操作
for(int i = 0; i < 10; i ++)
- 屬性:
- begin:開始值
- end:結束值
- var:臨時變量
- step:步長
- varStatus:循環狀態對象
- index:容器中元素的索引,從0開始
- count:循環次數,從1開始
- 屬性:
- 遍歷容器
for(User user : list)
- 屬性:
- items:容器對象
- var:容器中元素的臨時變量
- varStatus:循環狀態對象
- index:容器中元素的索引,從0開始
- count:循環次數,從1開始
- 屬性:
- 完成重復的操作
JavaWeb筆記(五)JSP