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