我有一个组件要在用户点击后显示/隐藏commandButton
。
就像这样:
<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
属性为真时才存在。否则它会说:
malformedXML:更新期间:未找到说明
我怎么解决这个问题?
我不想恢复到在源代码中隐藏元素,所以我不想使用任何 jQuery toggle(-) 或任何隐藏元素的方式style="display: none"
或任何这些东西。
它甚至可以在 JSF 2.1 中实现吗?