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

Primefaces 更新基于BigDecimal的inputText将其值设置为零,primefaces,jsf-2.2,bigdecimal,Primefaces,Jsf 2.2,Bigdecimal,我正在从p:commandButton更新p:inputText 视图组件: 当页面加载时,如检查所示,amount在setter中为空,但当单击命令按钮updatedp:inputText时,backing bean字段amount被初始化并占用零值,如下所示: BigDecimal作为一个包装器,我想保持它未初始化(null),直到我初始化它为止。在命令按钮侦听器代码结束之前,amount为空。然后update=“amount”使用初始化(非空)零值调用setter。不知道初始化的原因和位

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

视图组件:

当页面加载时,如检查所示,
amount
在setter中为空,但当单击命令按钮updated
p:inputText
时,backing bean字段
amount
被初始化并占用零值,如下所示:


BigDecimal
作为一个包装器,我想保持它未初始化(
null
),直到我初始化它为止。在命令按钮侦听器代码结束之前,
amount
为空。然后
update=“amount”
使用初始化(非空)零值调用setter。不知道初始化的原因和位置。请仔细研究一下。

您没有详细介绍您的环境和配置,但这可以作为dupe接受吗?您没有透露太多关于您的环境和配置的信息,但这可以作为dupe接受吗?
<p:commandButton value="Search" action="#{bean.retrieveInfo}" update="amount"/>
<p:inputText id="amount" value="#{bean.amount}"/>
private BigDecimal amount;
public BigDecimal getAmount() {
        return amount;
    }

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