斯蒂芬大帝
2019-06-16 14:56:29
當(dāng)我想要Ajax更新一個(gè)組件時(shí),為什么我需要在另一個(gè)組件中嵌套一個(gè)呈現(xiàn)=“#{一些}”的組件?所以我找到了一些接近這個(gè)問(wèn)題的答案,我找到了足夠多的答案來(lái)解決我的問(wèn)題。但即使如此,我還是很好奇能不能理解這件事的運(yùn)作方式。讓我舉例說(shuō)明:我有手帕.xhtml看起來(lái)像這樣的頁(yè)面(短頁(yè))。<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)在,為了簡(jiǎn)潔起見(jiàn),我不會(huì)發(fā)布所有支持bean代碼,但是我有這樣的內(nèi)容:public void find() {
searchResults = setResults(true);}哪里searchResults是ArrayList<Objects>..搜索之后,它不會(huì)在多個(gè)測(cè)試中被選中(可以是NULL,但在我正在做的測(cè)試中不是空的)?,F(xiàn)在。這不管用。但如果我筑巢dataTable在另一個(gè)里面,比如說(shuō)panelGroup它會(huì)起作用的。<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)在,這種變化允許一切正常工作。我不會(huì)介意的.。但我想我也在尋求一些理解。對(duì)我為什么要嵌套這些組件有任何見(jiàn)解嗎?我肯定漏掉了什么!
1 回答

qq_遁去的一_1
TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
另見(jiàn):
添加回答
舉報(bào)
0/150
提交
取消