When using Seam Gen to setup basic pages from the persistence objects where a primary key is a date or one of the keys in the combined primary key is a date you will run into this error: "value must be a date"
This is due to the date converter not working properly when seam is parsing the page parameters. By default it just performs a toString causing the page parameter to be populated as follow:
ReadDate=2007-01-02+00%3A00%3A00.0
The fix for this is easy just add a SimpleDateFormat or if you using JodaTime a DateTimeFormatter to output a string version of the date on the hibernate object as show below:
public String getReadDateStr() {
// SimpleDateFormat
return new SimpleDateFormat("dd/MM/yyyy").format(date)// Joda Timereturn DateTimeFormat.forPattern("dd/MM/yyyy").print(date.getTime())}
Then in the JSF change the parameter as follow:
<f:param name="startDate" value="#{_priceElementRate.id.readDateStr}" />
No comments:
Post a Comment