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

JSP 中 JSTL 與 EL 表達式完整指南:語法、標簽庫與實戰示例

     編輯:Java 綜合教學

JSP 中 JSTL 與 EL 表達式完整指南:語法、標簽庫與實戰示例

EL 表達式基礎

EL (Expression Language) 主要用於查找作用域數據並執行簡單操作,非編程語言,通常配合 JSTL 使用,實現 JSP 無 Java 代碼腳本。

基本格式

${expression}

例:${loginInfoBean.suser}、Hello ${loginInfoBean.suser}

11 個隱式對象

對象說明
pageContext當前頁面 PageContext 實例
pageScope / requestScope / sessionScope / applicationScope各作用域屬性 Map
param / paramValues請求參數(單值/多值)
header / headerValues請求頭(單值/多值)
cookieCookie Map
initParam上下文初始化參數

存取器

  • . 訪問屬性:${userBean.suser}
  • [] 訪問 Map/集合:${userBean["suser"]}、${mcType["id"]}

運算符

  • 算術:+ - * / div % mod
  • 關系:== eq != ne < lt > gt <= le >= ge
  • 邏輯:&& and || or ! not
  • 驗證:empty(判斷 null、空集合、空字符串)

字面量

數字、字符串(單/雙引號)、布爾值 true/false、null

JSTL 標簽庫

JSTL (JSP Standard Tag Library) 由 Apache 維護,包含 core、format、xml、sql 四大標簽庫,旨在替代 JSP 腳本元素,降低維護成本,明確分工。

部署方式

  1. 引入 jstl.jar、standard.jar 到 WEB-INF/lib
  2. 複製 .tld 文件到 WEB-INF
  3. 在 JSP 頁面聲明:<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>

Core 庫常用標簽

功能標簽關鍵屬性
輸出變量<c:out>value, default, escapeXml
設置變量<c:set>value, var, scope
移除變量<c:remove>var, scope
單分支判斷<c:if>test, var, scope
多分支判斷<c:choose> <c:when> <c:otherwise>test
URL 處理<c:url> <c:param> <c:redirect>value, context, name, value
頁面包含<c:import>url, context, charEncoding
簡單循環<c:forEach>var, begin, end, step
集合迭代<c:forEach>items, var, varStatus

varStatus 狀態對象屬性

current, index, count, first, last, begin, end, step

Format 庫常用標簽

  • <fmt:formatDate>:格式化日期,type 可為 short/medium/long/full,或自定義 pattern="yyyy-MM-dd"
  • <fmt:formatNumber>:格式化數字,pattern="###.##"

完整示例

Core 簡單循環

<c:forEach var="i" begin="1" end="100" step="1">
    ${i} <br>
</c:forEach>

Core 集合迭代

<c:forEach var="mcBean" items="${mcList}" varStatus="mcStatus">
    索引: ${mcStatus.index} ; 名稱: ${mcBean.sname} <br>
</c:forEach>

Format 日期/數字格式化

<jsp:useBean id="curDate" class="java.util.Date" scope="page"/>
<fmt:formatDate value="${curDate}" pattern="yyyy-MM-dd HH:mm:ss"/><br>
<fmt:formatNumber value="10.32898432" pattern="#.##"/><br>

理解 JSTL 與 EL 的協作關係,是編寫乾淨、可維護 JSP 頁面的關鍵。

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