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

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

生活随笔

當(dāng)前位置: 首頁(yè) >

adf开发_了解ADF Faces clientComponent属性

發(fā)布時(shí)間:2023/12/3 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 adf开发_了解ADF Faces clientComponent属性 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

adf開(kāi)發(fā)

我相信大多數(shù)ADF開(kāi)發(fā)人員都知道ADF Faces屬性clientComponent 。 在本文中,我將展示該屬性實(shí)際上如何影響組件渲染以及它如何改變其行為。 讓我們開(kāi)始考慮一個(gè)非常簡(jiǎn)單的示例:

<af:inputText label="Label 1" id="it1" /> <af:outputText value="outputText1" id="ot1"/>

結(jié)果頁(yè)面如下所示:

讓我們看一下生成的html:

我們可以看到我們的outputText已變成簡(jiǎn)單的文本字符串。 沒(méi)有任何組件代表它。 Java腳本表達(dá)式AdfPage.PAGE.findComponent(“ ot1”)將返回“ undefined” 。 甚至表達(dá)式document.getElementById(“ ot1”)也將返回null。 因此,我們既沒(méi)有ADF Faces JS豐富對(duì)象,也沒(méi)有對(duì)應(yīng)于outputText的本機(jī)DOM元素。 沒(méi)事

讓我們的示例更加復(fù)雜:

<af:inputText label="Label 1" id="it1" autoSubmit="true"value="#{MainTest.someValue}"valueChangeListener="#{MainTest.inputTextListener}"/> <af:outputText value="#{MainTest.someValue}" id="ot1" binding="#{MainTest.outputText}"/>

inputText將其值存儲(chǔ)在托管Bean中,并且此值應(yīng)由outputText呈現(xiàn)。 inputText的valueChangeListener將outputText作為部分目標(biāo)添加到faces上下文中:

public void inputTextListener(ValueChangeEvent valueChangeEvent) {AdfFacesContext ctx = AdfFacesContext.getCurrentInstance();ctx.addPartialTarget(outputText); }

一切似乎都還可以,但是沒(méi)有用。 此外,我們會(huì)在日志中找到以下消息:

<PprResponseWriter$PPRTag> <finish> no PPR-capable ID found for elements of: RichOutputText[UIXFacesBeanImpl, id=ot1]

這是因?yàn)榭蛻舳松蠜](méi)有相應(yīng)的組件。 outputText僅由簡(jiǎn)單文本表示。

好吧,讓我們將outputText的 clientComponent設(shè)置為true:

<af:outputText value="#{MainTest.someValue}" id="ot1" binding="#{MainTest.outputText}"clientComponent="true"/>

這樣我們的例子就起作用了!

看一下html:

有呈現(xiàn)的html標(biāo)簽跨度 ,它表示我們的outputText。 Java腳本表達(dá)式document.getElementById(“ ot1”)返回HTMLSpanElement。 AdfPage.PAGE.findComponent(“ ot1”)表達(dá)式返回AdfRichOutputText ,它是由以下JS代碼創(chuàng)建的ADF Faces JS對(duì)象:

好的,就部分渲染而言,讓outputText依賴于inputText :

<af:inputText label="Label 1" id="it1" autoSubmit="true"value="#{MainTest.someValue}"/> <af:outputText value="#{MainTest.someValue}" id="ot1" partialTriggers="it1"/>

這個(gè)例子比上一個(gè)例子更簡(jiǎn)單,并且可以運(yùn)行。 JS表達(dá)式document.getElementById(“ ot1”)返回HTMLSpanElement,但是AdfPage.PAGE.findComponent(“ ot1”)表達(dá)式返回“ undefined” 。 沒(méi)有為outputText創(chuàng)建任何ADF Faces客戶端對(duì)象,但是已渲染DOM元素( span )。

實(shí)際上,通常使用clientComponent屬性來(lái)獲取在客戶端創(chuàng)建的ADF Faces JS對(duì)象。 但是,除此之外, clientComponent屬性還強(qiáng)制為組件渲染DOM元素,有時(shí)我們可能僅出于該原因需要使用clientComponent屬性。 我們?cè)诘谝粋€(gè)示例中這樣做了,并使它正常工作。


而已!

參考: ADF練習(xí)博客上的JCG合作伙伴 Eugene Fedorenko 了解了ADF Faces clientComponent屬性 。

翻譯自: https://www.javacodegeeks.com/2013/05/understanding-adf-faces-clientcomponent-attribute.html

adf開(kāi)發(fā)

總結(jié)

以上是生活随笔為你收集整理的adf开发_了解ADF Faces clientComponent属性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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