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

JSP 指令總結:page、include、taglib 完整屬性表與用法對比

     編輯:Java 相關知識

JSP 指令告知容器如何編譯處理頁面。三大指令:page(頁面屬性)、include(靜態包含)、taglib(標籤庫)。本文整理 page 所有屬性表、include 編譯期包含機制與 jsp:include 動態包含差異、taglib 基礎語法。

語法格式

<%@ 指令名 屬性="值" ... %>

page 指令完整屬性表

屬性取值說明預設
languagejava頁面腳本語言java
extends完整類名生成 Servlet 繼承的父類容器預設
import類名/包名*匯入類/包,可重複寫多行java.lang.*, javax.servlet.*, javax.servlet.jsp.*, javax.servlet.http.*
sessiontrue/false是否內建 session 物件true
buffernone / 數字kb輸出緩衝區大小8kb
autoFlushtrue/false緩衝區滿時自動刷新true
isThreadSafetrue/false是否支援多執行緒並發true
info任意字串頁面描述,可用 getServletInfo() 取得-
errorPage相對路徑未捕獲例外導向的錯誤頁-
isErrorPagetrue/false本頁是否為錯誤頁(可用 exception 物件)false
contentTypeMIME; charset=...回應內容型別與編碼text/html; charset=ISO-8859-1
pageEncoding字元集名稱JSP 檔案本身編碼(編譯時讀取用)ISO-8859-1

include 指令:編譯期靜態包含

<%@ include file="header.jsp" %>
  • 編譯階段將目標檔案原始碼內嵌至主頁面,產生單一 Servlet。
  • 目標檔案變更需重新編譯主頁面才生效。
  • 適合:頁首/頁尾/版權聲明等極少變動片段。

對比:jsp:include 動作(動態包含)

特性<%@ include %><jsp:include>
處理階段編譯期請求期
產出 Servlet1 個各自獨立
參數傳遞不支援支援 <jsp:param>
目標檔案變更需重編譯即時生效
效能極高(無額外請求)略低(內部轉發)

taglib 指令:引入標籤庫

<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<c:forEach var="i" begin="1" end="5">${i}</c:forEach>
  • prefix:標籤前綴(自訂)。
  • uri:標籤庫唯一識別(TLD 檔案定義或容器映射)。

自訂標籤庫開發請參考後續專文。

常見錯誤與最佳實踐

  • pageEncoding vs contentType charset:pageEncoding 決定原始碼讀取編碼;contentType charset 決定瀏覽器解碼編碼。兩者必須一致(建議皆設 UTF-8)。
  • import 重複:唯一可重複的屬性,建議集中在頁面頂端統一管理。
  • isThreadSafe=false:嚴重影響效能,僅用於非執行緒安全的舊式類別,現代開發不建議使用。
  • errorPage 循環:錯誤頁本身不可再指向自己或形成循環。

範本:標準頁面頭部

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
         session="true" buffer="16kb" autoFlush="true" isThreadSafe="true"
         errorPage="/error/500.jsp" %>
<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="https://java.sun.com/jsp/jstl/fmt" %>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved