[
https://jira.jboss.org/jira/browse/JBSEAM-3551?page=com.atlassian.jira.pl...
]
Dan Allen commented on JBSEAM-3551:
-----------------------------------
This is one of those issues where at first, it seems so obvious, but on further
examination you realize that there is a very good reason why the DateTimeConverter is not
bound directly to the Date type. There is no universal way to represent a date as a
string. That is why Java includes a whole hierarchy of classes for date formatting and
parsing and why there is the JodaTime project and a JSR. This is not a trivial issue. We
could bind the DateTimeConverter to the Date type and register some standard pattern, like
ISO, but that would be marginally useful since, again, not everyone represents dates the
same. You should be specifying your date converter in your component or page parameter.
Either that, or we need a more sophisticated proposal. Perhaps you can set a default
pattern in your components.xml file that applies to the whole application. But then, why
don't you just do that in faces-config.xml?
Seam can not convert java.util.Date, it ignores
javax.faces.convert.DateTimeConverter
-------------------------------------------------------------------------------------
Key: JBSEAM-3551
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3551
Project: Seam
Issue Type: Bug
Affects Versions: 2.0.2.SP1
Environment: Jdk 1.5. Tomcat 6.0.18, Jboss Tools 2.1.2
Reporter: Francisco Jose Peredo Noguez
Assignee: Dan Allen
Attachments: SeamTestCase.zip
Create a Seam project using Jboss Tools 2.1.2.
Create a new Seam Form with name "SeamDateForm"
Open the file SeamDateForm.java and change the value from Integer to java.util.Date.
Right-click seamDateForm.xhtml and click Run As... -> Run On Server.
Write something in the form (like for example some random string "dfasdf")
You will get the error: Conversion Error setting value 'dfasdf' for 'null
Converter'.
Now create a Date Converter, as the one included in the attached test case project (BTW
it inherits from javax.faces.convert.DateTimeConverter).
Stop the application (just to be 100% sure everything gets loaded correctly)
Again:
Right-click seamDateForm.xhtml and click Run As... -> Run On Server.
Write something in the form (like for example some random string "dfasdf")
Now you get the right error: value must be a date, eg. 10/13/2008.
Of course it not only fails when you write a random string, even if you write a correct
date, like 01/01/2001, you will get an error that says: Conversion Error setting value
'01/01/2001' for 'null Converter'. But if you write your own converter
(for example inheriting from javax.faces.convert.DateTimeConverter) everything works
fine.
I think Seam should use javax.faces.convert.DateTimeConverter by default, I shouldn't
need to create my own converter.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira