Transcript 使用Beans
WEB 程式設計實習 0506
助教:楊昌倫
[email protected]
OUTLINE
JavaBean 介紹
JavaBean 部署
使用 Beans
Bean 撰寫規則
JAVABEAN
公開的類別,用於開發軟體元件
其實就是Java,只是依照一定的規格撰寫
優點
包裝複雜的邏輯為元件,簡化JSP網頁
重複利用與分享
JAVABEANS 部署
位於Tomcat資料夾下WEB-INF/classes下
通常目錄結構
\WEB-INF
\src
–-原始碼
\classes --class
編譯 (於WEB-INF資料夾下,以課本範例為例)
javac src\com\bitc\example\*.java -d classes Xlint:deprecation
-d 表示指定編後Class檔目的地
Xlint:deprecation 忽略不被jdk建議的方法(配合課本範
例)
使用BEANS
開始使用Beans
http://127.0.0.1/ch14/ex14-1/UseBean.jsp
<jsp:useBean id="" scope="" class=""/>
id: 定義在jsp網頁使用bean的名稱
scope: 定義bean生命週期
Page
Request
Session
Application
class: 類別名稱,含package路徑
i.e. com.bitc.example.PersonData
使用BEANS
設定屬性與取得屬性
<jsp:useBean id="person" scope="application"
class="com.bitc.example.PersonData"/>
<jsp:setProperty name="person"
property="userName" value="郭尚君"/>
<jsp:getProperty name="person"
property="userName"/>
name: Bean 名稱
property: 欲設定的屬性名稱
value/param: 設定的值或表單控制項名稱
也可以直接透過定義的id操作
person.setAge();
person.getAge();
使用BEANS
配合表單使用
http://127.0.0.1/ch14/ex14-2/setData.htm
<jsp:setProperty name="person" property="userName"
param="tbxName"/>
<jsp:setProperty name="person" property="age"/>
param 為表單控制項名稱
<INPUT type=text name=tbxName />
若表單控制項名稱與property名稱相同,可省略param
<INPUT type=text name=age />
Introspection 機制
查看com.bitc.example.PersonData.java 程式碼
欲在jsp使用上述介紹beans特殊標籤時,方法須定義成
getXXX, setXXX
在setProperty中,固定以小寫選定屬性名稱
property="userName"
使用BEANS
Introspection 使用
http://127.0.0.1/ch14/ex14-3/setData2.htm
將表單控制項名稱改成與Beans定義屬性相同
<INPUT type=text name=userName />
<INPUT type=text name=age />
<jsp:setProperty name="person" property="*"/>
透過*設定所有於Beans屬性名稱相同屬性
Beans 當中方法..
public void setUserName(String name)
public void setAge(int age)
BEAN 撰寫規格
類別名稱與原始碼檔案名稱相同
類別為Public
建構子無參數傳入
以getXXX()方法取得屬性
以setXXX()方法設定屬性
最後範例
[96] 假如期末來個這麼一題....