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

JSP 標準標籤庫 (JSTL) 核心標籤完整參考與實戰範例

     編輯:關於C

JSTL 簡介

JSTL (JSP Standard Tag Library) 封裝了 Web 開發中最常見的流程控制、資料格式化、資料庫存取、國際化等功能,以標籤形式取代 JSP 頁面中的 Java Scriptlet,實現「頁面設計師與程式開發者分工協作」,大幅提升可讀性與維護性。

環境配置

  1. 引入兩個 JAR:jstl.jar、standard.jar(放入 WEB-INF/lib)。
  2. 頁面頂部宣告 Taglib:
<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="https://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="https://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="fn" uri="https://java.sun.com/jsp/jstl/functions" %>

Core 標籤庫(c: 前綴)

1. 變數操作

標籤用途關鍵屬性
<c:set>設定範圍變數或 Bean 屬性var, value, scope, target, property
<c:remove>移除範圍變數var, scope
<c:catch>捕獲例外並存入變數var (存放 Throwable)
<c:out>輸出值(自動 HTML 轉義,防 XSS)value, default, escapeXml











    <% int i = 1/0; %>


2. 流程控制



    歡迎首次造訪!




    優秀
    及格
    不及格

3. 迭代 <c:forEach>



    ${status.index + 1}. ${user.name} - ${user.email}




    ${i} 




    [${token}]

4. URL 處理



    
    

搜尋



    

SQL 標籤庫(sql: 前綴)

注意:生產環境建議在 Service 層處理資料庫邏輯,JSP 僅做展示。此處僅供原型開發參考。






    SELECT id, name, email FROM users WHERE status = ?
    



    ${u.id} - ${u.name} - ${u.email}




    CALL update_user_status(?, ?)
    
    

格式化標籤庫(fmt: 前綴)


 
輸出: 1,234.50

 
輸出: 12%








EL 隱含物件速查

物件對應範例
${param.name}request.getParameter("name")單一參數
${paramValues.name}request.getParameterValues("name")陣列參數
${header['user-agent']}請求 Header
${cookie.jsessionid.value}Cookie 值
${sessionScope.user}Session 屬性
${applicationScope.counter}Application 屬性

最佳實務建議

  1. 禁用 Scriptlet:專案設定 <jsp-config><scripting-invalid>true</scripting-invalid></jsp-config> 強制使用 JSTL/EL。
  2. 資料邏輯前置:Controller 準備好資料模型,JSP 僅負責 <c:forEach>、<c:out> 展示。
  3. 防 XSS:預設 <c:out escapeXml="true"> 開啟,切勿關閉除非極度確信內容安全。
  4. 國際化:搭配 <fmt:bundle>、<fmt:message> 實現多語系。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved