【问题标题】:Primefaces disabled attribute not calling Bean methodPrimefaces禁用属性不调用Bean方法
【发布时间】:2017-08-17 13:34:36
【问题描述】:

当我尝试禁用 commandButton 时,disabled 属性不会调用 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>

在 Bean 中,只有简单的 getter 和 setter,但在我的设备上,它们从不被禁用。

    public boolean isCzyNowy() {
    return czyNowy;
}

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

【问题讨论】:

  • 可能是您使用的 czyNowy 的布尔值为 null,您必须将初始值设置为 true 或 false
  • @Billy DEKAR 布尔(原始)数据类型永远不能为空,为此它必须是布尔(对象)。布尔值(原始)的默认值为 false。

标签: jsf primefaces


【解决方案1】:

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

RequestContest.getCurrenteInstance.update("raportId"); 禁用组件后在代码中添加以上行

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多