How to solve “Conversion Error setting value '2013-10-26' for 'null Converter'” in h:inputText with Date value?

前端 未结 3 890
萌比男神i
萌比男神i 2021-01-20 17:57

when I press the insert button, I get the error indicated on the title

Conversion Error setting value \'2013-10-26\' for \'null Converter\'

相关标签:
3条回答
  • 2021-01-20 18:39

    In Managed Bean You should use java.util.Date. and specify the converter. e.g.

    <h:inputText id="date" required="true" requiredMessage="Hire Date"
    value="#{empBean.empDetail.hireDate}">
    <f:convertDateTime pattern="yyyy-MM-dd" />
    </h:inputText>
    

    you can specify the pattern for DateTimeConverter also you can use dateStyle,timeStyle, type.

    0 讨论(0)
  • 2021-01-20 18:41

    You should import the appropriate Date package :

    import java.util.Date;
    
    0 讨论(0)
  • 2021-01-20 18:44

    There are two problems in your current approach:

    1. You should use java.util.Date instead java.sql.Date. JSF and other frameworks work with this type. Also, java.sql.Date extends java.util.Date but its purpose is basically for JDBC usage. More info about this: Date vs TimeStamp vs calendar?

    2. <h:inputText> expects a String as value, and when sending the data to the managed bean, it also expects the class field is from String type as well. In cases like this, you need to use a converter to tell JSF that this String in fact represents a Date. For this, you may use <f:convertDateTime> tag component.

      <h:inputText id="date" required="true" requiredMessage="Campo Obligatorio"
          value="#{aaaNewDetalles.criterioAaa.plazo}">
          <f:convertDateTime pattern="yyyy-MM-dd" />
      </h:inputText>
      

    As a recommendation, you may use a calendar component from third party libraries like PrimeFaces or RichFaces whose provide <p:calendar> and <rich:calendar> component respectively.

    0 讨论(0)
提交回复
热议问题