JSP 動作指令速查表
| 指令 | 功能描述 | 常用屬性 |
| jsp:forward | 頁面轉向,將請求處理轉發至下一頁面 | page |
| jsp:param | 參數傳遞,配合 forward/include/plugin 使用 | name、value |
| jsp:include | 動態引入 JSP 頁面 (請求時處理) | page、flush |
| jsp:plugin | 下載 JavaBean 或 Applet 至客戶端執行 | type、code、codebase、align 等 |
| jsp:useBean | 建立 JavaBean 實例 | id、class、scope、type、beanName |
| jsp:setProperty | 設定 JavaBean 實例屬性值 | name、property、value、param |
| jsp:getProperty | 取得 JavaBean 實例屬性值 | name、property |
指令對比:include 指令 vs include 動作
| 特性 | <%@ include file="..." %> (指令) | <jsp:include page="..." /> (動作) |
| 處理階段 | 翻譯階段 (編譯時) | 請求階段 (執行時) |
| 內容合併 | 原始碼合併後編譯 | 獨立編譯,執行結果合併 |
| 動態性 | 靜態,無法傳參數 | 動態,可傳參數 jsp:param |
| 效能 | 較好 (單一 Servlet) | 稍低 (多 Servlet 協作) |
| 適用場景 | 靜態頁首/頁尾/導航列 | 動態內容、條件式包含、需傳參數 |
JavaBean 相關指令使用流程
<!-- 1. 建立/尋找 Bean -->
<jsp:useBean id="user" class="com.example.User" scope="session" />
<!-- 2. 設定屬性 (可從請求參數自動填入) -->
<jsp:setProperty name="user" property="*" />
<!-- 或指定單一屬性 -->
<jsp:setProperty name="user" property="username" value="admin" />
<!-- 3. 取得屬性顯示 -->
歡迎 <jsp:getProperty name="user" property="username" /> 登入!
scope 範圍說明
page:預設,僅當前頁面請求有效
request:同一請求轉發鏈有效
session:同一用戶會話有效
application:整個 Web 應用全域共享