首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

SCWCD 1.4 考試重點筆記:EL 與 JSTL 核心標籤庫完整整理

     編輯:Java 相關知識

前言

SCWCD 1.4 (考試代碼 310-081) 較 1.3 (080) 新增 Expression Language (EL) 與 JSTL 兩大章節。本文整理官方考試大綱重點與核心語法,作為複習速查手冊。

Chapter 7:Expression Language (EL)

1. 隱含物件

EL 提供 11 個隱含物件,皆為 Map 型態,鍵值對應各作用域屬性或請求參數:

隱含物件對應內容
pageScopePageContext 屬性
requestScopeRequest 屬性
sessionScopeSession 屬性
applicationScopeServletContext 屬性
param單一請求參數 (String)
paramValues多值請求參數 (String[])
header單一請求標頭
headerValues多值請求標頭
cookieCookie 物件 Map
initParamContext 參數
pageContextPageContext 物件本身

2. 存取語法:點運算子 (.) 與括號運算子 ([])

${pageScope.user.name}          // 點運算子:屬性名為合法識別碼時
${sessionScope['user-name']}      // 括號運算子:屬性名含特殊字元或動態鍵值
${paramValues.color[0]}           // 存取陣列/List 元素
${header['User-Agent']}           // 存取標頭

Chapter 9:JSTL 1.1 Core Tag Library

1. 引入指令

<%@ taglib prefix="c" uri="https://java.sun.com/jstl/core" %>

同時需在 web.xml 宣告 TLD:

<taglib>
  <taglib-uri>https://java.sun.com/jstl/core</taglib-uri>
  <taglib-location>/WEB-INF/tld/core.tld</taglib-location>
</taglib>

2. 核心標籤五大分類

分類標籤用途
General Purpose<c:out>輸出值,支援 XML 轉義,等同 ${...} 但更安全
<c:catch>捕獲例外,將例外物件存入 var 變數,避免錯誤頁面機制啟動
Variables Support<c:set>設定變數至指定作用域
<c:remove>移除變數
Conditional<c:if>單一條件判斷
<c:choose> / <c:when> / <c:otherwise>多重條件分支 (類似 switch-case)
Iterator<c:forEach>遍歷 Collection、Map、陣列、整數範圍
<c:forTokens>依分隔符號切割字串並遍歷
URL Related<c:url>編碼 URL,自動加入 Session ID,支援參數嵌入
<c:import> / <c:redirect>引入內容 / 重導向

3. 關鍵標籤用法範例

<c:out> - 安全輸出

You have <c:out value="${sessionScope.user.itemCount}" /> items.

<c:catch> - 例外處理

<c:catch var="ex">
    <c:import url="https://unstable-service/data"/>
</c:catch>
<c:if test="${ex != null}">
    <p>Service unavailable: ${ex.message}</p>
</c:if>

<c:forEach> - 通用遍歷

<c:forEach var="item" items="${requestScope.products}" varStatus="status">
    ${status.count}. ${item.name} - ${item.price}
</c:forEach>

<c:url> - URL 重寫

<c:url value="/shop/cart" var="cartUrl">
    <c:param name="action" value="add"/>
    <c:param name="id" value="${product.id}"/>
</c:url>
<a href="${cartUrl}">加入購物車</a>

考試重點提醒

  • EL 隱含物件名稱與對應型態必須背熟。
  • JSTL core 標籤屬性:var (變數名)、scope (作用域)、items (遍歷來源)、test (條件表達式)。
  • <c:catch> 僅捕獲其主體內發生的例外,不會捕獲 JSP 頁面其他位置的錯誤。
  • <c:import> 可跨 Context 引入資源,比 <jsp:include> 更強大。

參考資源

官方 JSTL 1.1 指南:https://java.boot.by/wcd-guide/ch09s03.html

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved