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

JSP/Servlet 核心語法大全:腳本元素、指令、預定義變數完整解析

     編輯:關於JSP

一、JSP 腳本元素

類型語法用途轉換後位置
表達式<%= expression %>計算並輸出結果至頁面_jspService 方法中 out.print()
Scriptlet<% code %>插入任意 Java 陳述式_jspService 方法中原位置
宣告<! code %>定義類別成員 (欄位/方法)Servlet 類別主體 (方法外)

範例:混合模板文字與 Scriptlet

<% if (Math.random() < 0.5) { %>
    Have a <B>nice</B> day!
<% } else { %>
    Have a <B>lousy</B> day!
<% } %>

轉換為:

if (Math.random() < 0.5) {
    out.println("Have a <B>nice</B> day!");
} else {
    out.println("Have a <B>lousy</B> day!");
}

XML 等價寫法

<jsp:expression>Java Expression</jsp:expression>
<jsp:scriptlet>Code</jsp:scriptlet>
<jsp:declaration>Code</jsp:declaration>

二、JSP 指令

語法:<%@ directive attribute="value" %>

1. page 指令常用屬性

2. include 指令

<%@ include file="relative/url" %>
  • **翻譯階段**靜態包含,包含檔可包含 JSP 程式碼。
  • 適合不常變動的頁首/頁尾/導航列,效能最佳。
  • 若包含檔頻繁變動,改用 <jsp:include page="..." flush="true"/> 動作 (請求階段動態包含)。

三、JSP 八大預定義變數 (內建物件)

屬性說明範例
import匯入類別/套件,可多次使用<%@ page import="java.util.*,java.sql.*" %>
contentType設定回應 MIME 型別與 charset<%@ page contentType="text/html;charset=UTF-8" %>
pageEncoding指定 JSP 檔案儲存編碼<%@ page pageEncoding="UTF-8" %>
isThreadSafetrue (預設) 多執行緒共用實例;false 實作 SingleThreadModel<%@ page isThreadSafe="false" %>
sessiontrue (預設) 自動建立/綁定 session;false 禁用<%@ page session="false" %>
bufferout 緩衝區大小,預設 8kb 以上<%@ page buffer="16kb" %>
autoFlush緩衝區滿時自動 flush (true) 或拋出異常 (false)<%@ page autoFlush="true" %>
errorPage指定錯誤處理頁面<%@ page errorPage="/error.jsp" %>
isErrorPage宣告此頁為錯誤頁面,可用 exception 內建物件<%@ page isErrorPage="true" %>
extends指定 Servlet 父類別 (慎用,容器可能已有自定父類)<%@ page extends="com.my.BaseServlet" %>
變數型別說明
requestHttpServletRequest請求參數、Header、Cookie、Session 等
responseHttpServletResponse設定狀態碼、Header、Cookie、重導向
outJspWriter (PrintWriter 緩衝版)輸出內容,可透過 page 指令 buffer 屬性調整
sessionHttpSession用戶會話屬性,若 page 指令 session="false" 則不可用
applicationServletContext全應用共享資源,可透過 getServletConfig().getContext() 取得
configServletConfig當前 Servlet 初始化參數
pageContextPageContext管理頁面屬性範圍 (page/request/session/application)、轉向、包含等
pageObject (this)當前 Servlet 實例,為非 Java 腳本語言預留

四、綜合範例

<%@ page import="java.util.*" %>
<HTML><BODY>
<h2>JSP 功能示範</h2>
<ul>
  <li><b>表達式</b>: 你的主機 <%= request.getRemoteHost() %></li>
  <li><b>Scriptlet</b>: <% out.println("查詢字串: " + request.getQueryString()); %></li>
  <li><b>宣告+表達式</b>: <%! private int count=0; %> 訪問次數: <%= ++count %></li>
  <li><b>指令+表達式</b>: 當前日期: <%= new Date() %></li>
</ul>
</BODY></HTML>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved