第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當我想要Ajax更新一個組件時,為什么我需要在另一個組件中嵌套一個呈現(xiàn)=“#{一些}”的組件?

當我想要Ajax更新一個組件時,為什么我需要在另一個組件中嵌套一個呈現(xiàn)=“#{一些}”的組件?

當我想要Ajax更新一個組件時,為什么我需要在另一個組件中嵌套一個呈現(xiàn)=“#{一些}”的組件?所以我找到了一些接近這個問題的答案,我找到了足夠多的答案來解決我的問題。但即使如此,我還是很好奇能不能理解這件事的運作方式。讓我舉例說明:我有手帕.xhtml看起來像這樣的頁面(短頁)。<h:form id="resultForm">     <h:panelGroup class="search_form" layout="block">         <h:inputText id="lastname" value="#{search.lastname}"/>         <h:commandButton action="#{search.find}" value="Find">             <f:ajax execute="lastname" render="resultDisplay"/>         </h:commandButton>     </h:panelGroup>     <h:dataTable value="#{search.searchResults}" var="results" id="resultDisplay"             rendered="#{!empty search.searchResults}">           <h:column>             #{results.field}        </h:column>     </h:dataTable></h:form>現(xiàn)在,為了簡潔起見,我不會發(fā)布所有支持bean代碼,但是我有這樣的內容:public void find() {     searchResults = setResults(true);}哪里searchResults是ArrayList<Objects>..搜索之后,它不會在多個測試中被選中(可以是NULL,但在我正在做的測試中不是空的)?,F(xiàn)在。這不管用。但如果我筑巢dataTable在另一個里面,比如說panelGroup它會起作用的。<h:panelGroup id="resultDisplay">     <h:dataTable value="#{search.searchResults}" var="results"         rendered="#{!empty search.searchResults}">           <h:column>             #{results.field}        </h:column>     </h:dataTable></h:panelGroup>現(xiàn)在,這種變化允許一切正常工作。我不會介意的.。但我想我也在尋求一些理解。對我為什么要嵌套這些組件有任何見解嗎?我肯定漏掉了什么!
查看完整描述

1 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

Ajax更新由客戶端的JavaScript語言執(zhí)行。JavaScript只能訪問HTMLDOM樹。如果JSF不向HTML輸出呈現(xiàn)任何組件,那么HTML DOM樹中就沒有任何東西可以通過JavaScript在Ajax更新時獲得。JavaScript無法通過其ID獲取所需的元素。

只有在將有條件JSF呈現(xiàn)的組件包裝到另一個組件中時,它才能工作。呈現(xiàn)到HTML輸出,因此出現(xiàn)在HTMLDOM樹中,因此可通過JavaScript獲取。在Ajax呈現(xiàn)/更新期間引用該包裝組件。

另見:


查看完整回答
反對 回復 2019-06-16
  • 1 回答
  • 0 關注
  • 441 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號