我在jsf页面中有两个primefaces面板组件。我想通过单击primefaces commandButton在面板上显示一些数据,并在页面加载时显示panel1。当点击commandbutton时,我不想显示其他面板。所以我定义了布尔变量在支持bean以在panel的visible属性中使用。但它不起作用。
支持Bean:
@ManagedBean
@SessionScoped
public class Bean implements Serializable {
private boolean show;
@PostConstruct
public void init(){
this.show=true;
}
public void action_commandButton(){
this.show=false;
}
}
Jsf Page
<p:commandButton style="text-align: center;font-size:12px;"
action="#{bean.action_commandButton()}" value=""/>
<!--panel 1 -->
<p:panel visible="#{bean.show}">
<p:dataGrid>
<!-- data from datbase-->
</p:dataGrid>
</p:panel>
<!-- panel 2-->
<p:panel visible="#{!bean.show}">
<p:dataGrid>
<!-- data from datbase-->
</p:dataGrid>
</p:panel>
如何解决这个问题? 提前谢谢。