Richfaces рендерит компоненты на стороне сервера. Так что вы должны передать
параметр на стороне сервера. Есть несколько способов добиться этого.
Создайте скрытый вход на странице и свяжите его с флагом в вашем бине. Что-то вроде
class YourBean {
private boolean visible = false;
//getter,setter
}
На странице
<h:selectBooleanCheckbox id="hiddeninput" style="visibility:hidden"
value="#{yourBean.visible}"/>
<rich:component id="compid" rendered="#{yourBean.visible}" />
<a:commandButton onclick="document.getElementById('hiddeninput').checked=true"
reRender="compid"/>
Или создайте два метода, которые устанавливают флаг в true или false.
class YourBean {
private boolean visible = false;
public void makeInvisible() {
visible = false;
}
public void makeVisible() {
visible = true;
}
}
На странице
<rich:component id="compid" rendered="#{yourBean.visible}" />
<a:commandButton action="#{yourBean.makeInvisible()}" reRender="compid"/>