



全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
在JSF的頁(yè)面代碼當(dāng)中,通過數(shù)據(jù)綁定,我們把控件的value值,與某個(gè)后臺(tái)的數(shù)據(jù)bean關(guān)聯(lián)起來。而在前述的生命周期部分,我們看到,當(dāng)一個(gè) JSF請(qǐng)求到達(dá)時(shí),他需要經(jīng)歷Restore View,Apply Request Value等步驟,而Apply Request Value部分的工作,就是把請(qǐng)求當(dāng)中的值綁定到這個(gè)后臺(tái)的bean之中,因此,我們不需要考慮頁(yè)面中的Form值如何傳入到后臺(tái)的bean當(dāng)中。 進(jìn) 一步,如果錄入控件的value屬性,和命令控件的action屬性都是綁定在同一個(gè)bean上的話,那么在頁(yè)面跳轉(zhuǎn)時(shí),我們可以直接訪問到bean的屬 性值。但是為了不污染模型,和實(shí)現(xiàn)控制與模型的分離,一般情況下,我們需要把輸入控件的value值綁定到數(shù)據(jù)bean,而把命令控件的action值綁 定到控制bean,由于兩個(gè)bean不是同一個(gè),所以,控制bean需要一種方法來獲取數(shù)據(jù)bean中的屬性值。 ii. 代碼: 配置文件: user nick.User session action nick.Action session 模型代碼: package nick; public class User private String id = Nick; public void setId(String id) this.id = id; public String getId() return this.id; package nick; public class Action public String regist() ValueBinding binding = Util.getValueBinding(#user); User user = (User) binding.getValue(FacesContext.getCurrentInstance(); return regist; 頁(yè)面代碼: Test 注:頁(yè)面代碼當(dāng)中把輸入控件的value綁定到了user的id上,把命令控件的action值綁 定到action的regist上。當(dāng)用戶點(diǎn)擊登陸按鈕時(shí),action的regist()方法將會(huì)被調(diào)用, 而在該方法內(nèi)部,為了獲取之前頁(yè)面中的信息,我們可以使用ValueBinding類。該類使用 的數(shù)據(jù)綁定表達(dá)式與頁(yè)面中的類似。 b) 控制器到頁(yè)面: i. 說明:通過之前的敘述,我們可以發(fā)現(xiàn),當(dāng)我們需要把數(shù)據(jù)從控制器傳到頁(yè)面時(shí),我們同樣可以使用數(shù)據(jù)綁定的方式,因?yàn)?,?dāng)我們通過數(shù)據(jù)綁定表達(dá)式,獲取到某 個(gè)頁(yè)面當(dāng)中所使用的模型實(shí)例時(shí),便可以在該實(shí)例上直接調(diào)用對(duì)應(yīng)的set()方法,來設(shè)定所希望的值。 7 插件功能: a) Converter(轉(zhuǎn)換): i. 說明:當(dāng)模型中的某個(gè)字段需要在頁(yè)面上顯示時(shí),她需要先被轉(zhuǎn)換為字符串類型;而用戶在頁(yè)面輸入的字符串值,在傳到模型中時(shí)也需要根據(jù)模型對(duì)應(yīng)字段的類型, 進(jìn)行一個(gè)轉(zhuǎn)換。另外,由于國(guó)際化的要去,模型中的值在不同的地區(qū)會(huì)有不同的表示方式。為了解決以上這些問題,JSF提供了Converter的實(shí)現(xiàn),她主 要做的事情就是根據(jù)所在的地區(qū),對(duì)頁(yè)面數(shù)據(jù)和模型數(shù)據(jù)進(jìn)行雙向的轉(zhuǎn)換。 ii. 代碼: 模型代碼: package nick; public class User private Date date = new Date(); public Date getDate() return date; public void setDate(Date date) this.date = date; 頁(yè)面代碼: Test 注: 通過嵌套的convertXXX標(biāo)簽,我們可以為控件配置用于轉(zhuǎn)換的轉(zhuǎn)換器。我們可以使用兩種方式來注冊(cè)轉(zhuǎn)換器,一是通過控件的convert屬性,另外 一種就是通過嵌套的convertXXX標(biāo)簽。如果在轉(zhuǎn)換的時(shí)候發(fā)生錯(cuò)誤,那么JSF將跳過轉(zhuǎn)換以后的步驟,而直接跳到Render Response步驟,生成響應(yīng),并在FacesContext里添加一個(gè)出錯(cuò)的Message,該Message的內(nèi)容可以通過message標(biāo)簽進(jìn)行 顯示。b) Validate(驗(yàn)證): i. 說明:在數(shù)據(jù)被交付后臺(tái)處理以前,我們可以通過驗(yàn)證器,來驗(yàn)證輸入的數(shù)據(jù)是否合法,這包括數(shù)值的大小,或者是字符串的長(zhǎng)度等。使用驗(yàn)證器的好處就是我們可以把驗(yàn)證的代碼從控制代碼中單獨(dú)出來,以便管理和重用。 ii. 代碼: 頁(yè)面代碼: Test 注: 通過嵌套的validateXXX標(biāo)簽我們可以為一個(gè)控件注冊(cè)一個(gè)驗(yàn)證器,與轉(zhuǎn)換器不同,我們可以為一個(gè)控件注冊(cè)多個(gè)驗(yàn)證器,以進(jìn)行復(fù)雜的驗(yàn)證。注冊(cè)驗(yàn)證 器的方法也有兩個(gè),一是通過控件的validator屬性,另外一種就是通過嵌套的validateXXX標(biāo)簽。與轉(zhuǎn)換器類似,當(dāng)驗(yàn)證失敗時(shí),失敗的原因 也會(huì)以Message的形式被放到FacesContext內(nèi),在頁(yè)面內(nèi)通過message標(biāo)簽可以對(duì)錯(cuò)誤信息進(jìn)行顯示。 8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025工程咨詢服務(wù)合同
- 2025物業(yè)用工合同范文
- 芷蘭秋冬傳染病防控知識(shí)
- 酒店食品安全知識(shí)培訓(xùn)
- 2025年云南省文山市西疇縣初中學(xué)業(yè)水平模擬考試英語試題
- 常見惡性腫瘤概述
- 普通心理學(xué)(第2版)課件 第一章 心理學(xué)概述
- 平面構(gòu)成特異8
- 2025年人際溝通與禮儀試題
- 互聯(lián)網(wǎng)+廣告投影燈行業(yè)運(yùn)營(yíng)模式及市場(chǎng)前景研究報(bào)告
- 年代小說先鋒小說
- 【超星爾雅學(xué)習(xí)通】世界建筑史網(wǎng)課章節(jié)答案
- (52)-皰疹性咽峽炎小兒推拿探秘
- 土建施工員培訓(xùn)課件
- 新音樂初放 學(xué)堂樂歌說課課件
- GMP體系文件(手冊(cè)+程序)
- 陜西延長(zhǎng)石油四海煤化工有限公司金屬鎂廠1萬噸-年金屬鎂生產(chǎn)項(xiàng)目環(huán)評(píng)報(bào)告
- 集電線路安裝工程質(zhì)量通病防治
- 大學(xué)生動(dòng)漫創(chuàng)業(yè)計(jì)劃書
- 2023年四川二造《建設(shè)工程計(jì)量與計(jì)價(jià)實(shí)務(wù)(土木建筑)》考試重點(diǎn)題庫(kù)200題(含解析)
- YY/T 0149-2006不銹鋼醫(yī)用器械 耐腐蝕性能試驗(yàn)方法
評(píng)論
0/150
提交評(píng)論