日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

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

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

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

閑話少說(shuō),以下就是從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ū)域,甚至都沒(méi)有引入后端服務(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ò)誤一樣通過(guò)文本區(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è)命名的事件:開(kāi)始,完成以及成功。
◆開(kāi)始——在請(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ò)誤,那么就只有開(kāi)始和完成兩項(xiàng)事件會(huì)被調(diào)用。而就錯(cuò)誤而言,有四種可能的命名錯(cuò)誤:
◆httpError——如果客戶接收到任何HTTP狀態(tài)不是200到299中間的任何數(shù)就會(huì)出現(xiàn)這一錯(cuò)誤。
◆emptyResponse——當(dāng)連接被放棄而沒(méi)有出現(xiàn)任何響應(yīng)的時(shí)候發(fā)生。
◆malformedXML——這意味著接收到的XML不能被正確地分析。
◆serverError——當(dāng)錯(cuò)誤在服務(wù)器上生成且被傳送回客戶端時(shí)出現(xiàn)這一錯(cuò)誤。

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

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

【編輯推薦】

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

本文題目:JSF2中Ajax事件和錯(cuò)誤
分享地址:http://www.dlmjj.cn/article/dpssjcd.html