更新基于BigDecimal的inputText将其值设置为零

时间:2015-07-21 10:21:51

标签: primefaces jsf-2.2 bigdecimal

我正在从p:inputText更新p:commandButton

查看组件:

<p:commandButton value="Search" action="#{bean.retrieveInfo}" update="amount"/>
<p:inputText id="amount" value="#{bean.amount}"/>

Bean Field:

private BigDecimal amount;
public BigDecimal getAmount() {
        return amount;
    }

public void setAmount(BigDecimal amount) {
    this.amount = amount;
}

当加载页面时,检查时 amount 在setter中为空,但是当点击命令按钮更新p:inputText时,支持bean字段 { {1}} 被初始化并占用零intValue,如下所示:

enter image description here

amount是一个包装器,我想保持它未初始化(BigDecimal),直到我初始化它为止。在命令按钮侦听器代码结束之前, null 为空。然后amount使用初始化(非null)零值调用setter。不知道为什么以及它被初始化的地方。请看一下。

0 个答案:

没有答案