我有一个html文本框帐号,我试图将文本框的值更新为null,并且不允许将其更新为null,调用是通过ajax进行的。我有一个 类似的文本框费用类型在同一页面上,并且工作得很好。这两列在数据库中都可以为空。当我检查调试模式时,帐号永远不会显示为空,而是显示db中保留的先前值。 OnRowedit方法 - > event.get object()始终具有以前的值。我看到很少有其他链接,其中提到init()是必需的,我在我的bean类中有。 请协助。任何指针都非常感谢。
下面是我的xhtml:
<p:column headerText="Account Number" width="65">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{record.acctNbr}" />
</f:facet>
<f:facet name="input">
<h:inputText id="formAcctNbr" label="Account Number"
value="#{record.acctNbr}" maxlength="6"
validatorMessage="Account Number is Numeric of lenghth '6'">
<f:validateLength minimum="6" maximum="6" />
<f:validateRegex pattern="[0-9]*" />
</h:inputText>
<h:message for="formAcctNbr" style="color:red" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Fee Type" width="60">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{record.feeType}" />
</f:facet>
<f:facet name="input">
<h:inputText id="formFeeType" label="Fee Type"
value="#{record.feeType}" maxlength="5"
validatorMessage="Fee Type is Numeric between 1 and 32767">
<f:validateLongRange minimum="1" maximum="32767" />
</h:inputText>
<h:message for="formFeeType" style="color:red" />
</f:facet>
</p:cellEditor>
</p:column>
以下是我的javaBean:
public class AcctRefTo implements Serializable {
private Short feeType;
private String acctNbr;
public Short getFeeType() {
return feeType;
}
public void setFeeType(Short feeType) {
this.feeType = feeType;
}
public String getAcctNbr() {
return acctNbr;
}
public void setAcctNbr(String acctNbr) {
if (acctNbr!= null) {
this.acctNbr= acctNbr.trim();
}
}
}