我有一個JSF複合組件,它只根據傳遞給它的屬性cc.attrs.list
呈現一些部分。 在其中一個組件中,我想根據屬性更新一組其他組件。因此,像這樣:如何對組件執行條件更新
<p:ajax event="dialogReturn" listener="#{cc.listener}"
update="#{cc.attrs.id2}_input #{cc.attrs.id2}_resultTable"/>
的問題是,resultTable不會呈現全部的時間和時resultTable是不存在的,我得到一個異常Cannot find component with expression "id_resultTable"
,這並不奇怪。所以我的想法是創建一個將包含屬性或空字符串這樣的ID的變量:
<c:if test="#{cc.attrs.list}">
<ui:param name="updateTable" value="#{cc.attrs.id2}_resultTable"/>
</c:if>
<c:otherwise>
<ui:param name="updateTable" value=""/>
</c:otherwise>
,然後做這樣的AJAX更新:
<p:ajax event="dialogReturn" listener="#{cc.listener}"
update="#{cc.attrs.id2}_input #{updateTable}"/>
的問題是,該#{updateTable}
變量總是一個空字符串(我試圖把它作爲outputText的內容),我不知道爲什麼。
謝謝,但條件很好。 ''''''參數被定義爲:''' '''在其他情況下,作品(我用它來渲染/不渲染組件) –
NeplatnyUdaj