Primefaces禁用属性不调用Bean方法

问题描述:

当我尝试禁用commandButton时,disabled属性不会调用Bean中用于检查变量是true还是false的方法。但是,我试着呈现属性,它的工作!更奇怪的是,我在同一个项目上与我的朋友在另一台设备上工作,并且在与我的代码相同的代码上禁用了他。这是什么魔术?Primefaces禁用属性不调用Bean方法

       <p:commandButton value="raport" id="raportId" 
           icon="content_paste" style="min-width:80px" 
           actionListener="#{rekrutacjaWniosekBean.raport()}" 
           disabled="#{rekrutacjaWniosekBean.czyNowy}" 
           styleClass="ctl-home-link-menu" 
           onclick="form.target = '_blank'" ajax="false"> 
          </p:commandButton> 

在豆,只有简单的getter和setter,但他们从来没有与我的设备上禁用调用。

public boolean isCzyNowy() { 
    return czyNowy; 
} 

public void setCzyNowy(boolean czyNowy) { 
    this.czyNowy = czyNowy; 
} 
+0

它可能是您正在使用czyNowy的布尔值为null,您必须将一个初始值设置为true或false –

可能有一个原因是您需要在禁用后更新commandButton组件。

RequestContest.getCurrenteInstance.update(“raportId”); 禁用组件后,在代码中添加上面的行