1. 程式人生 > >JavaWeb筆記(五)JSP

JavaWeb筆記(五)JSP

循環 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:前綴,自定義

註釋

  1. HTML註釋
    • <!-- -->
  2. 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集合的值
      1. 對象:${域名稱.鍵名.屬性名}
        • 本質上會去調用對象的getter方法
      2. List集合:${域名稱.鍵名[索引]}

      3. Map集合:
        • ${域名稱.鍵名.key名稱}
        • ${域名稱.鍵名["key名稱"]}
  • ${pageContext.request.contextPath}:動態獲取虛擬目錄

JSTL

JSP標準標簽庫

使用步驟

  1. 導入jstl相關jar包
  2. 引入標簽庫: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

    1. 完成重復的操作 for(int i = 0; i < 10; i ++)
      • 屬性:
        • begin:開始值
        • end:結束值
        • var:臨時變量
        • step:步長
        • varStatus:循環狀態對象
          • index:容器中元素的索引,從0開始
          • count:循環次數,從1開始
    2. 遍歷容器 for(User user : list)
      • 屬性:
        • items:容器對象
        • var:容器中元素的臨時變量
        • varStatus:循環狀態對象
          • index:容器中元素的索引,從0開始
          • count:循環次數,從1開始

JavaWeb筆記(五)JSP