範例:test.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<jsp:useBean id="test" class="test.SimpleBean" />
<jsp:setProperty name="test" property="name" value="Hello JSP" />
<jsp:setProperty name="test" property="message" value="fuck JSP" />
消息:
<jsp:getProperty name="test" property="name" /><br>
<jsp:getProperty name="test" property="message" />
JavaBean 類別 SimpleBean.java
package test;
public class SimpleBean {
private String name;
private String message;
private String conn;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getMessage() { return message; }
public void setMessage(String message) { this.message = message; }
public String getCoon() { return conn; }
public void setCoon(String coon) { this.conn = this.message + " " + this.name; }
}
三大核心動作標籤詳解
1. <jsp:useBean> - 查找或實例化 Bean
<jsp:useBean id="beanInstanceName" scope="page|request|session|application"
class="package.Class" type="package.Class" />
id:變數名,供後續標籤引用。
class:具體實例化類別。
type:宣告型別(可為介面或父類)。
scope:生命週期範圍(page/request/session/application)。
2. <jsp:setProperty> - 設定 Bean 屬性
<jsp:setProperty name="beanInstanceName" property="*" | property="propertyName" value="value" />
name:對應 useBean 的 id(大小寫敏感)。
property="*":自動匹配請求參數名與 Bean 屬性名(名稱相同)。
property="propName" value="xxx":指定屬性與值。
3. <jsp:getProperty> - 取得並輸出屬性值
<jsp:getProperty name="beanInstanceName" property="propertyName" />
- 內部呼叫 Bean 的
getPropertyName() 方法,轉字串輸出。
name 必須與 useBean id 一致。
最佳實踐
- 將商業邏輯、資料庫操作封裝於 JavaBean,JSP 僅負責顯示,提升可讀性與重用性。
- 依實際需求選擇最小
scope,避免記憶體洩漏。