




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章JavaBean
JavaBean是一種Java類,通過封裝屬性和方法成為具有某種功能或者處理某個業(yè)務的對象,簡稱Bean,JavaBean是一個可重復使用的,基于Java的軟件組件,將JavaBean與JSP語言元素一起使用,可以很好地實現后臺業(yè)務邏輯和前臺表示邏輯的分離,使得JSP頁面更加可讀、易維護。JavaBean的數據成員屬性都具有private或protect型成員變量,從組件外只能通過與該屬性相關的一對訪問方法來設置或讀取屬性的值。這對訪問方法即getter方法(讀取器)和setter(設置器)方法,符合下面的設計規(guī)則任何Java類都是一個JavaBean:(1)對于數據類型“protype”的每個可讀屬性,Bean必須有下面簽名的一個方法:publicproptypegetProperty(){}(2)對于數據類型“protype”的每個可寫屬性,Bean必須有下面簽名的一個方法:publicsetProperty(proptypex){}(3)定義一個不帶任何參數的構造函數。與JvavBean相關的JSP動作組件JSP頁面中與JavaBean有關的標記有3個,分別是<jsp:useBean>、<jsp:setProperty>和<jsp:getProperty>。其中<jsp:useBean>聲明一個具有一定生存范圍及一個唯一id的JavaBean的實例,JSP頁面通過id來識別JavaBean,并可通過id.method類似的語句來操作JavaBean。例如,下面的標記在應用程序作用域中,聲明了類型Student的id為s1的bean:<jsp:useBeanid="s1"class="Student"scope="application"/>其中id屬性是在整個頁面引用Bean的唯一值,在所定義的范圍中確認Bean的變量.<jsp:useBean>利用Scope屬性來聲明JavaBean的生存范圍,Scope的取值范圍有四種,即:"page、
request、
session、application",Bean只有在它定義的范圍里才能使用,在它的活動范圍外將無法訪問到它,缺省值是page.class屬性是JavaBean的類名,即Bean的.class文件的路徑和文件名。
type屬性是引用此對象的變量的類型,如果使用type屬性的同時沒有使用class或beanName,Bean將不會被實例化。注意package和class的名稱區(qū)分大小寫。<jsp:setProperty>用來設定一個已被創(chuàng)建的bean組件的屬性值,用法如下:<jsp:setPropertyname="beanId"property="propertyName"value="propertyValue"/>其中name屬性對應著JavaBean組件的id值,property屬性指明要設定屬性值的屬性名,value為設定的屬性值,這個值可以是字符串也可以是表達式。
<jsp:setPropertyname=“s1"property=“classno"value=“56789"/>
屬性
說明
name
bean實例的名稱,它必須已經被
<jsp:useBean>標記進行了定義。注意在<jsp:setProperty>中的名字必須與<jsp:useBean>標記中的名字一樣
property
正在被設置值的bean屬性的名字,如果property屬性有值“*”,標記就會在請求對象中瀏覽所有的參數去尋找所匹配的請求參數的名稱,并且在bean中輸入屬性名稱和類型。請求中的值被賦給每個所匹配的bean屬性,除非請求參數有值,否則,不會改變bean的屬性
param當從請求參數中設置bean的屬性時,bean的屬性名稱不必與請求參數中所定義的名稱相同。用這個屬性來定義請求參數的名稱,要用它的值來設置bean的屬性。如果沒有定義param值,就認為請求參數的名稱與bean屬性的名稱相同。如果沒有該名稱的請求參數,或者它的值為“”,則這個動作對bean沒有影響
value要賦給bean屬性的值。它可以是一個請求時的屬性,或者可以接受一個表達式作為它的值。(一個標記不能夠同時具有param和value屬性)<jsp:setProperty>標準標記與在前面部分中介紹的<jsp:useBean>動作一起被使用,來設置bean的屬性值。比如對于一個位于mypackage包下的Student的Bean,具體匹配過程如下圖所示:“*”代表所有的,即匹配所有beans.html頁面中控件名稱與javabean中變量名字一樣的項。<jsp:getProperty>用來返回一個已被創(chuàng)建的bean組件的屬性值,它訪問屬性的值,并且把該值轉換為String,然后輸出到客戶的輸出流當中。用法如下:<jsp:getPropertyname="beanId"property="propertyName"/>其中,name屬性對應JavaBean組件的id值,property屬性指明要獲取的JavaBean屬性名稱,這兩個屬性都是必需的。JavaBean與JSP的結合應用使用JavaBean與JSP結合實現一個簡單的計數器程序。
編寫一個用戶注冊的JavaBean實例,用戶注冊頁面名稱為edit.jsp,JavaBean名稱為Edit.jav
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工材料合同范本
- 農村荒山租賃合同范本
- 四川2025年01月2024年四川南充市住房和城鄉(xiāng)建設局直屬參公管理事業(yè)單位遴選(考調)2人國家公務員考試消息筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 發(fā)票后附合同范本
- 南通市房子買賣合同范本
- 區(qū)域獨家授權合同范本
- 代理產品購銷合同范本
- 三方協(xié)議委托擔保合同范本
- 勞務合同范本 搬家
- 匠人承包合同范本
- 2024年“民用無人機及多旋翼無人機”駕駛員操控員技能與理論知識考試題庫含答案
- 2019譯林版高中英語全七冊單詞總表
- T-BJCC 1003-2024 首店、首發(fā)活動、首發(fā)中心界定標準
- 園區(qū)宣傳方案
- 銀行承兌匯票和商業(yè)承兌匯票課件
- 經口鼻吸痰法護理課件
- 《園林生態(tài)學》課件
- 初中化學實驗報告單(上)
- 貨物質量與安全控制方案
- 高中物理多普勒效應練習題
- 交通事故授權委托書樣本(通用)
評論
0/150
提交評論