日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
JSF2中Ajax事件和錯(cuò)誤

JSF2的Ajax支持包含一個(gè)非?;镜墓δ芤月犎SF2客戶端處理代碼中的事件和錯(cuò)誤。它假設(shè)該功能會(huì)被部分開發(fā)員使用以監(jiān)視事件,例如,當(dāng)出現(xiàn)一個(gè)明顯的Ajax請(qǐng)求時(shí),圖像會(huì)變成黃色,而沒有這樣的Ajax請(qǐng)求時(shí)則是黑色。本文將嘗試解決JSF2中的Ajax事件和錯(cuò)誤。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供旺蒼企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、html5、小程序制作等業(yè)務(wù)。10年已為旺蒼眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

閑話少說,以下就是從Mojarra的Ajax樣本中截取的一部分代碼:

在出現(xiàn)Ajax調(diào)用的頁(yè)面,我們會(huì)有以下域:

  1. < h3> Status:< /h3> 
  2. < textarea id="statusArea" cols="40" rows="10" readonly="readonly" /> 

一個(gè)簡(jiǎn)單的文本區(qū)域,甚至都沒有引入后端服務(wù)器數(shù)據(jù)模型。

然后,在我們的javascript中我們會(huì)看到這樣的代碼:

  1. var statusUpdate = function statusUpdate(data) {  
  2. var statusArea = document.getElementById("statusArea");  
  3. var text = statusArea.value;  
  4. texttext = text + "Name: "+data.source.id;  
  5. if (data.type === "event") {  
  6. texttext = text +" Event: "+data.name+"\n";  
  7. else { // otherwise, it's an error  
  8. texttext = text + " Error: "+data.name+"\n";  
  9. }  
  10.  statusArea.value = text;  
  11. };  
  12.    // Setup the statusUpdate function to hear all events on the page  
  13. jsf.ajax.addOnEvent(statusUpdate);  
  14. jsf.ajax.addOnError(statusUpdate); 

運(yùn)行代碼的時(shí)候,你會(huì)看到一組數(shù)據(jù)流向頁(yè)面其他地方出現(xiàn)的Ajax事件和錯(cuò)誤一樣通過文本區(qū)域。嘗試樣本代碼可以看到更多。

到底發(fā)生了什么:首先,我們定義了一個(gè)JavaScript函數(shù),將其設(shè)置為可變量,然后調(diào)用兩個(gè)JSF Ajax 應(yīng)用程序接口函數(shù):assOnEvent和assOnError。這些函數(shù)使用statusUpdate函數(shù)作為其回調(diào),作為第一個(gè)參數(shù)傳送數(shù)據(jù)對(duì)象。

該數(shù)據(jù)對(duì)象,就事件而言,存在三個(gè)命名的事件:開始,完成以及成功。
◆開始——在請(qǐng)求被發(fā)送前就發(fā)生了。
◆完成——一旦請(qǐng)求完成,且還未調(diào)用javax.faces.response前發(fā)生。
◆成功——在響應(yīng)方法結(jié)束后發(fā)生

這意味著對(duì)于一般的請(qǐng)求,這三項(xiàng)事件都會(huì)被調(diào)用,而如果出現(xiàn)某種錯(cuò)誤,那么就只有開始和完成兩項(xiàng)事件會(huì)被調(diào)用。而就錯(cuò)誤而言,有四種可能的命名錯(cuò)誤:
◆httpError——如果客戶接收到任何HTTP狀態(tài)不是200到299中間的任何數(shù)就會(huì)出現(xiàn)這一錯(cuò)誤。
◆emptyResponse——當(dāng)連接被放棄而沒有出現(xiàn)任何響應(yīng)的時(shí)候發(fā)生。
◆malformedXML——這意味著接收到的XML不能被正確地分析。
◆serverError——當(dāng)錯(cuò)誤在服務(wù)器上生成且被傳送回客戶端時(shí)出現(xiàn)這一錯(cuò)誤。

數(shù)據(jù)有效負(fù)載包括:
◆類型——事件或錯(cuò)誤之一。
◆名稱——Ajax事件和錯(cuò)誤名稱,如上所述。
◆源——觸發(fā)事件的DOM要素。
◆對(duì)于那些稱為serverError的錯(cuò)誤,也存在一個(gè)errorName和errorMessage域,目的是為了發(fā)送并完成服務(wù)器錯(cuò)誤。
◆附加的responseCode,responseXML和responseTxt,作為XMLHttpResponse對(duì)象。

因此,你什么時(shí)候需要使用這一功能呢?可能不會(huì)經(jīng)常使用。但是由于它沒有在任何其他其他留下記載,筆者希望能對(duì)其作出一些描述。

【編輯推薦】

  1. JSF的工作方式
  2. Acegi安全系統(tǒng)與JSF結(jié)合
  3. JavaServer Faces(JSF)簡(jiǎn)介
  4. 在JSF中的頁(yè)面導(dǎo)航問題
  5. 介紹JSF框架中使用的設(shè)計(jì)模式

本文標(biāo)題:JSF2中Ajax事件和錯(cuò)誤
URL網(wǎng)址:http://www.5511xx.com/article/dpssjcd.html