when I press the insert button, I get the error indicated on the title
Conversion Error setting value \'2013-10-26\' for \'null Converter\'
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.
You should import the appropriate Date
package :
import java.util.Date;
There are two problems in your current approach:
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?
<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.