我有一個組件,我想在用戶點擊commandButton
後顯示/隱藏。AJAX渲染屬性不適用於渲染=「false」組件
是這樣的:
<h:commandButton id="showButton" value="#{bean.wasPressed ? 'Hide' : 'Show'}">
<f:ajax listener="#{bean.toggle()}" render="explanation showButton" />
</h:commandButton>
和
<h:panelGroup id="explanation" rendered="#{bean.wasPressed}">
<h:outputText value="something" />
</h:panelGroup>
的bean.toggle()
只是適當的wasPressed
屬性設置爲true或false。我正在使用<h:form prependId="false">
。
問題是我的按鈕的render
屬性的值。它明確列舉了:explanation
和showButton
。
只要showButton
總是存在(它只會更改其標籤),則explanation
僅在wasPressed
屬性爲true時才存在。否則,它說:
malformedXML:在更新:explanaition沒有找到
我怎樣才能解決這個問題?
我不想回復隱藏源代碼中的元素,所以我不想使用任何jQuery切換( - )或任何隱藏元素使用style="display: none"
或任何這些東西。
它甚至可以在JSF 2.1中實現嗎?
包裝添加到panelGroup中有一個ID,並指它....你不能指不會呈現JSF elememt的http://計算器。 com/a/10707789/617373 – Daniel
工程就像一個魅力,謝謝!你能否給這個問題添加答案,以便我能夠接受它? –
不客氣。 – Daniel