freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

jsf在web開(kāi)發(fā)中的應(yīng)用-資料下載頁(yè)

2025-05-11 22:32本頁(yè)面
  

【正文】 f:convertDateTime pattern=yyyy/MM/dd/ /h:outputText ? 實(shí)現(xiàn) ,這個(gè)接口有兩個(gè)要實(shí)現(xiàn)的 方法: public Object getAsObject(FacesContext context, UIComponent ponent, String str)。 public String getAsString(FacesContext context, UIComponent ponent, Object obj)。 ? 在 : converter converterid/converterid converterclass /converterclass /converter ? 在 JSF頁(yè)面中通過(guò) converterid使用轉(zhuǎn)換器 : h:outputText value={} converter=/ ? 語(yǔ)法檢驗(yàn)( Synatic Validation) ? 檢查使用者輸入的數(shù)據(jù)是否合乎我們所要求的格式,最基本的就是檢查使用者是否填入了欄目值,或是欄目值的長(zhǎng)度、大小值等等是否符合要求。 ? 三種標(biāo)準(zhǔn)驗(yàn)證器: ? f:validateDoubleRange ? f:validateLongRange ? f:validateLength ? 實(shí)現(xiàn) validate()方法,如果驗(yàn)證錯(cuò)誤,則丟出一個(gè)ValidatorException,它接受一個(gè) FacesMessage對(duì)象,這個(gè)對(duì)象接受三個(gè)參數(shù),分別表示信息的嚴(yán)重程度( INFO、 WARN、 ERROR、 FATAL)、信息概述與詳細(xì)信息內(nèi)容,這些信息將可以使用h:messages或 h: message標(biāo)簽顯示在頁(yè)面上。 ? 在 ( Validater ID)。 ? 通過(guò) f:validator標(biāo)簽并設(shè)定 validatorId屬性來(lái)使用自定義驗(yàn)證器。 ? 預(yù)定義的錯(cuò)誤信息可以使用 h:messages或h:message標(biāo)簽顯示出來(lái) ? 通過(guò)提供一個(gè)信息資源文件可以修改預(yù)定義的錯(cuò)誤 信息 ? MyFaces提供了支持中文的錯(cuò)誤信息文件 ? 也可以在程序中使用 FacesMessage來(lái)提供信息 /驗(yàn)證標(biāo)簽 ? 使用 f:attribute標(biāo)簽來(lái)設(shè)定屬性 : f:attribute name=pattern value=.+[09]+/ ? 在自定義驗(yàn)證器中用下面語(yǔ)句獲取屬性: String pattern = (String) ().get(pattern)。 ? 也可以開(kāi)發(fā)自己的一組驗(yàn)證標(biāo)簽,并提供相關(guān)屬性設(shè)定: co:passwordValidator pattern=.+[09]+/ 九、傳統(tǒng)請(qǐng)求 /響應(yīng)驅(qū)動(dòng)的處理周期 ? 請(qǐng)求 /響應(yīng)驅(qū)動(dòng)的處理周期 傳統(tǒng)請(qǐng)求 /響應(yīng)處理模型的不足 ? 控制器缺乏對(duì)頁(yè)面的控制力 ? 控制能力僅限于頁(yè)面導(dǎo)航 ? 頁(yè)面缺乏對(duì)模型的控制力 ? 原則上頁(yè)面只應(yīng)負(fù)責(zé)從模型中提取數(shù)據(jù)并顯示,若直接設(shè)置模型數(shù)據(jù),則繞過(guò)了控制器中的轉(zhuǎn)換校驗(yàn)邏輯。 ? 頁(yè)面與控制器之間缺乏有效溝通 ? 基于面向?qū)ο蟮目刂破麟y以適應(yīng)基于文本流的頁(yè)面。溝通形式局限于傳遞簡(jiǎn)單的請(qǐng)求參數(shù),修改共享數(shù)據(jù)(例如 JavaBean或 Session屬性等) ? 頁(yè)面對(duì)控制器的通信需要由客戶端發(fā)起請(qǐng)求,溝通形式受限于傳輸協(xié)議(例如 HTTP的 GET方式) ? 對(duì)一個(gè)請(qǐng)求 /響應(yīng)循環(huán)的邏輯缺乏細(xì)致劃分,導(dǎo)致校驗(yàn)、轉(zhuǎn)換、展現(xiàn)的代碼糾纏在一起。程序員必須自己去關(guān)心進(jìn)行這些動(dòng)作的時(shí)機(jī),次序以及出錯(cuò)后的行為。 JSF提供的解決方案 ? JSF引擎負(fù)責(zé)維護(hù)視圖的組件樹(shù)模型 ? 類(lèi)似于瀏覽器的 DOM模型, JSF組件樹(shù)模型為基于文本流的視圖提供了一個(gè)面向?qū)ο蟮挠成洹? ? 控制器可以訪問(wèn)、修改組件樹(shù)中的元素,從而獲取請(qǐng)求發(fā)起時(shí)的視圖狀態(tài),或者影響最終的響應(yīng)結(jié)果。 ? JSF引擎負(fù)責(zé)發(fā)起校驗(yàn),轉(zhuǎn)換行為,程序員只需提供相關(guān)的邏輯,而不需要關(guān)心時(shí)機(jī) ? 同時(shí), JSF實(shí)現(xiàn)提供了常用的校驗(yàn)與轉(zhuǎn)換邏輯。 ? 引入延遲求值 EL表達(dá)式,令視圖可以以受控的方式調(diào)用、修改模型。 ? JSF引擎管理對(duì)延遲求值 EL表達(dá)式的賦值,調(diào)用等 ? 明確劃分首次請(qǐng)求與 postback(對(duì)同一個(gè)視圖的后續(xù)請(qǐng)求), JSF引擎管理 postback時(shí)的組件樹(shù)與模型更新。統(tǒng)一了視圖與控制器,從而消除了溝通問(wèn)題。 JSF請(qǐng)求處理生命周期 ? 一次請(qǐng)求處理生命周期的范圍是一個(gè)請(qǐng)求 /響應(yīng)循環(huán) ? 請(qǐng)求處理生命周期由六個(gè)階段組成 ? 恢復(fù)視圖階段( Restore View Phase) ? 應(yīng)用請(qǐng)求值階段( Apply Request Value Phase) ? 處理驗(yàn)證階段( Process Validations Phase) ? 更新模型值階段( Update Model Value Phase) ? 調(diào)用應(yīng)用程序階段( Invoke Application Phase) ? 渲染響應(yīng)階段( Render Response Phase) ? 首次請(qǐng)求時(shí)只執(zhí)行恢復(fù)視圖階段與渲染響應(yīng)階段, postback時(shí)原則上順序執(zhí)行全部六個(gè)階段。 ? 引擎實(shí)現(xiàn)與用戶應(yīng)用程序可以在任一階段中通知引擎跳過(guò)某些階段 ? ().renderResponse() 本階段執(zhí)行完畢后直接跳到渲染響應(yīng)階段 ? ().responseComplete() 本階段執(zhí)行完畢后直接終止當(dāng)前生命周期 JSF請(qǐng)求處理生命周期簡(jiǎn)圖 JSF請(qǐng)求處理生命周期各階段 (一 ) ? 恢復(fù)視圖階段 ? 首次請(qǐng)求時(shí): ? 根據(jù)頁(yè)面文件創(chuàng)建組件樹(shù) ? 通知 JSF引擎直接進(jìn)入渲染響應(yīng)階段 ? Postback時(shí): ? 根據(jù)客戶端提交或保存在服務(wù)器會(huì)話中的 ViewState(視圖狀態(tài))恢復(fù)組件樹(shù) JSF請(qǐng)求處理生命周期各階段 (二) ? 應(yīng)用請(qǐng)求值階段 ? 在此階段, JSF引擎對(duì)請(qǐng)求所提交數(shù)據(jù)進(jìn)行解碼,獲得頁(yè)面組件的狀態(tài)值(例如 textField中填入的值) ? 處理校驗(yàn)階段 ? 在此階段, JSF引擎對(duì)組件的原始狀態(tài)值進(jìn)行轉(zhuǎn)換和校驗(yàn)。 ? 若出現(xiàn)轉(zhuǎn)換或校驗(yàn)失敗, JSF引擎將錯(cuò)誤消息加入隊(duì)列,將組件的 valid屬性設(shè)為 false,并通知 JSF在本階段完畢之后直接跳到渲染響應(yīng)階段。 ? 應(yīng)用模型值階段 ? 若生命周期流程順利到達(dá)這個(gè)階段,說(shuō)明請(qǐng)求中的信息在語(yǔ)法與業(yè)務(wù)語(yǔ)義上均正確(由之前的驗(yàn)證過(guò)程保證)。 JSF引擎將這些值更新到與組件綁定的模型對(duì)象中。 JSF請(qǐng)求處理生命周期各階段 (三) ? 調(diào)用應(yīng)用程序階段 ? 若生命周期流程順利到達(dá)這個(gè)階段,說(shuō)明所有模型對(duì)象的狀態(tài)已經(jīng)根據(jù)請(qǐng)求中的輸入進(jìn)行了更新。 JSF負(fù)責(zé)調(diào)用應(yīng)用程序中定義的各種事件方法,主要是綁定的 action方法。 ? 渲染響應(yīng)階段 ? 在此階段, JSF引擎使用配置指定的渲染包( Render Kit)將組件樹(shù)渲染為輸出格式。通過(guò)選用不同的 Render Kit,這個(gè)輸出格式可以有很多形式,例如靜態(tài) Html頁(yè)面、帶 ajax支持的 Html頁(yè)面、xml,甚至是 flash等等。 ? 目前 AOM主要的輸出格式是帶 ajax支持的 Html頁(yè)面。 影響生命周期執(zhí)行順序的一些方式 ? 在生命周期中的任何階段中調(diào)用當(dāng)前請(qǐng)求的 FacesContext實(shí)例的renderResponse()方法,將通知 JSF引擎在本階段執(zhí)行完畢后直接跳到渲染響應(yīng)階段。 ? 在生命周期中的任何階段中調(diào)用當(dāng)前請(qǐng)求的 FacesContext實(shí)例的responseComplete()方法,將通知 JSF引擎在本階段執(zhí)行完畢后結(jié)束本次生命周期。 ? 若組件的 immediate屬性為 true,則這個(gè)組件的轉(zhuǎn)換和校驗(yàn)動(dòng)作將在應(yīng)用請(qǐng)求值階段執(zhí)行(原來(lái)是在處理驗(yàn)證階段執(zhí)行),其動(dòng)作事件將在應(yīng)用請(qǐng)求值階段結(jié)束后立刻被分發(fā)(原來(lái)是在調(diào)用應(yīng)用程序階段被分發(fā))。此屬性默認(rèn)為 false。 ? 若這個(gè)組件出現(xiàn)驗(yàn)證錯(cuò)誤,將跳過(guò)其他 immediate屬性為 false的組件的驗(yàn)證。 ? 這個(gè)組件有機(jī)會(huì)在其驗(yàn)證或動(dòng)作事件中調(diào)用 renderResponse()方法或 responseComplete()方法,跳過(guò)所有其他 immediate屬性為false的組件的驗(yàn)證與動(dòng)作事件調(diào)用。 ? JSF引擎會(huì)在每個(gè)生命周期的開(kāi)始和結(jié)束時(shí)分別廣播生命周期事件。通過(guò)向 JSF引擎注冊(cè)生命周期監(jiān)聽(tīng)器,就可以監(jiān)聽(tīng)到這些事件并觸發(fā)處理。 ? 應(yīng)用程序通過(guò)實(shí)現(xiàn) 。 ? 在 public PhaseId getPhaseId()方法中返回這個(gè)監(jiān)聽(tīng)器所監(jiān)聽(tīng)的生命周期階段 ? 例如 return 。 ? 返回 ? 在 public void beforePhase()方法中加入在生命周期開(kāi)始時(shí)的處理 ? 在 public void afterPhase()方法中加入在生命周期結(jié)束時(shí)的處理 ? 需要在 生命周期階段監(jiān)聽(tīng)器 lifecycle phaselistener/phaselistener /lifecycle JSF開(kāi)發(fā)環(huán)境 ? 支持 JSF的 IDE ? JSF組件庫(kù) ? JSF工具 支持 JSF的 IDE ? Eclipse WTP ? Java Studio Creator ? NetBeans+ VisualWeb ? JDeveloper ? IBM WSAD ? BEA WorkShop for JSF ? Exadel Studio JSF組件庫(kù) ? Tomahawk ? Tobago ? Trinidad ( Oracle ADFFaces) ? Apusic JSF JSF擴(kuò)展 ? Facelets ? JSFSpring ? Ajax4JSF
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1