页面刷新时<p:inputtext>自动设置值</p:inputtext>

时间:2013-06-12 06:07:58

标签: jsf-2 primefaces

我正面临这个问题,当我为inputText留下一切空白时,单击Save按钮,其中一个inputText字段将自动设置为0.000000。我一直在看这个,但我仍然无法弄清楚它有什么问题。在右边,它应该保持空白。

<tr>
<td><p:commandButton type="button"
     value="#{msg.cr1002_command_save}" onclick="confirmation.show()"
     id="cr1002_command_save" styleClass="commandButton">
  </p:commandButton> <p:confirmDialog id="confirmDialog"
     message="#{msg.cr1002_prompt_confirm_save}" severity="alert"
     widgetVar="confirmation">
     <p:commandButton id="confirm" value="OK"
    oncomplete="confirmation.hide()"
    action="#{pc_Cr1002.doCr1002_command_saveAction}" ajax="false"
    styleClass="commandButton" />
     <p:commandButton id="decline" value="Cancel"
    onclick="confirmation.hide()" type="button"
    styleClass="commandButton" />
  </p:confirmDialog>
</td>
</tr>

<tr>
   <td><h:outputText styleClass="outputText"
     id="cr1002_output_sample_value"
     value="#{msg.cr1002_output_sample_value}"></h:outputText>
   </td>
   <td></td>
   <td><p:inputText styleClass="inputTextRefresh"
     id="cr1002_input_sample_value" onchange="this.form.submit()"
     valueChangeListener="#{pc_Cr1002.handleCr1002_input_sample_valueValueChange}"
     style="text-align: right"
     value="#{pc_Cr1002.w_currency.sample_value}">
     <f:convertNumber pattern="##0.000000" />
  </p:inputText>
   </td>
   <td></td>
   <td><p:message styleClass="message_200px"
     id="cr1002_error_sample_value" for="cr1002_input_sample_value"
     display="text"></p:message>
   </td>
   <td></td>
</tr>

1 个答案:

答案 0 :(得分:1)

#{pc_Cr1002.w_currency.sample_value}

我认为你的字段sample_value是一个原语(float可能是)而不是一个包装类(Float)

实例级别的基元的默认值为00.0,而包装类的默认值为null。  因此,如果这些假设是正确的,并且更改数据类型不会对您造成伤害,这可能会解决您的问题。