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] 假如期末來個這麼一題....