日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

adf可以自定义溶剂吗_ADF Faces。 立即的自定义客户端事件

發(fā)布時(shí)間:2023/12/3 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 adf可以自定义溶剂吗_ADF Faces。 立即的自定义客户端事件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

adf可以自定義溶劑嗎

在本文中,我將重點(diǎn)介紹ADF Faces Javascript API方法以從客戶端觸發(fā)自定義事件。 例如:

function cliListener(actionEvent) {AdfCustomEvent.queue(actionEvent.getSource(), "servListener",null, true);}

我們可以使用af:clientListener標(biāo)記,以便將cliListener函數(shù)附加到命令按鈕,并在單擊按鈕時(shí)使該函數(shù)被調(diào)用。 在服務(wù)器端,我們可以捕獲事件并調(diào)用托管bean方法:

<af:commandButton text="TestButton" id="cb1" action="goEdit">?? <af:clientListener type="action" method="cliListener" /><af:serverListener type="servListener"method="#{TheBean.serverListener}"/></af:commandButton>

問(wèn)題是–該事件將傳遞到哪個(gè)生命周期階段,托管bean方法將在哪個(gè)階段觸發(fā)? 有時(shí)它非常重要,因?yàn)樗梢燥@著改變應(yīng)用程序的行為。

讓我們看一下AdfCustomEvent.queue方法的規(guī)范:

/*** @param {AdfUIComponent} Component to queue the custom event on* @param {String} the type of the event* @param {Object} a set of parameters to include on the event. Reserved* parameter names include "type" and "immediate".* @param (boolean) whether the custom event is "immediate" - which will* cause it to be delivered during Apply Request Values on the server,* or not immediate, in which case it will be delivered during* Invoke Application. */ AdfCustomEvent.queue = function(component, type, params, immediate) { ... }

我將專注于立即數(shù)參數(shù)。 當(dāng)其值為true時(shí) ,客戶端事件將在“ 應(yīng)用請(qǐng)求值”階段傳遞。 因此,它將在“ 調(diào)用應(yīng)用程序”階段觸發(fā)命令按鈕的動(dòng)作和動(dòng)作偵聽(tīng)器方法之前觸發(fā)。 而且,如果即時(shí)參數(shù)的值為false ,則客戶端事件將在命令按鈕的操作和操作偵聽(tīng)器方法之后在“ 調(diào)用應(yīng)用程序”階段觸發(fā)。

讓我們考慮一個(gè)非常簡(jiǎn)單的任務(wù)流的示例:

有兩個(gè)視圖活動(dòng): BrowseView和EditView 。 它們每個(gè)都有一個(gè)PageDef文件。 BrowseView包含上面描述的TestButton 。 此按鈕會(huì)觸發(fā)goEdit操作,因此,當(dāng)用戶單擊它時(shí),他們將轉(zhuǎn)到EditView活動(dòng)。 除此之外,單擊按鈕還調(diào)用cliListener JS函數(shù),該函數(shù)將servListener自定義事件發(fā)送到服務(wù)器。 該事件將被捕獲,并且將調(diào)用托管bean方法:

public void serverListener(ClientEvent clientEvent) {BindingContext bc = BindingContext.getCurrent();DCBindingContainer dcb = (DCBindingContainer) bc.getCurrentBindingsEntry();//Do something with dcbSystem.out.println("dcb="+dcb.getName()); }

如果我們?cè)贘S代碼中將即時(shí)參數(shù)的值設(shè)置為true

function cliListener(actionEvent) {AdfCustomEvent.queue(actionEvent.getSource(), "servListener",null, true);}

然后是serverListener方法 將在轉(zhuǎn)到EditView之前在Apply Request Values階段調(diào)用。 當(dāng)前綁定容器的名稱將如下所示:

..._pageDefs_BrowseViewPageDef_...

但是,如果即時(shí)參數(shù)為false,則使用serverListener方法 將在命令按鈕的操作之后被調(diào)用,并且當(dāng)前綁定容器的名稱將如下所示:

..._pageDefs_EditViewPageDef_...

本文的示例應(yīng)用程序需要JDeveloper R2。

注意! 以上內(nèi)容對(duì)R2有好處。

在R1中,行為略有不同。 如果命令組件的動(dòng)作導(dǎo)致導(dǎo)航到另一個(gè)視圖活動(dòng)(如本例所示),并且客戶端事件以即時(shí)=假排隊(duì),則將永遠(yuǎn)不會(huì)調(diào)用服務(wù)器偵聽(tīng)器中定義的托管bean方法。 但是,如果您保持相同的視圖活動(dòng),則將在“ 調(diào)用應(yīng)用程序”階段執(zhí)行托管bean方法。

如果即時(shí)= true,則無(wú)論如何都將在服務(wù)器偵聽(tīng)器中定義的托管bean方法執(zhí)行。
應(yīng)用請(qǐng)求值階段。

而已!

參考: ADF Faces。 我們的JCG合作伙伴 Eugene Fedorenko在ADF實(shí)踐博客上提供了即時(shí)的定制客戶活動(dòng) 。

翻譯自: https://www.javacodegeeks.com/2014/02/adf-faces-immediate-custom-client-events.html

adf可以自定義溶劑嗎

總結(jié)

以上是生活随笔為你收集整理的adf可以自定义溶剂吗_ADF Faces。 立即的自定义客户端事件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。