Frage

Ich habe ein Problem mit F: convertDatetime, dass es die Fehlermeldung zu verwenden scheint javax.faces.converter.datetimeConverter.date_detail Wenn ich die Zeit konvertiere (dh es sollte sie verwenden javax.faces.converter.datetimeConverter.time_detail).

Ich vermute, das Problem ist, dass ich ein Muster verwende und daher nicht weiß, ob es ein Datum oder eine Zeit ist, in der es sich um Konvertiten bindet. Das versuche ich ("Timepatt" ist "hh.mm"):

<f:convertDateTime type="time" pattern="#{timePattern}" />

Obwohl type = "Zeit" angegeben ist, verwendet es immer noch die Datum_Detail Fehlermeldung. Ist dies ein Fehler oder ist meine Annahme, dass es das verwenden sollte Time_detail Fehlermeldung falsch, und ich muss meinen eigenen Konverter erstellen?

War es hilfreich?

Lösung

Leider ist das auch das der DateTimeConverter Javadoc erzählt. Hier ist ein Relevanzauszug:

Wenn ein pattern wurde angegeben, seine Syntax muss die angegebenen Regeln entsprechen java.text.SimpleDateFormat. Ein solches Muster wird verwendet, um zu analysieren, und die type, dateStyle, und timeStyle Eigenschaften werden ignoriert.

Ich muss jedoch zugeben, dass die JSF -Jungen es ausdrücklich in der angeben mussten f:convertDateTime pdldoc auch. Von dort aus ist es nicht offensichtlich. Ich würde den JSF -Jungs ein Problem melden, um sie dazu zu bringen, diesen Teil zu klären.

Um es zum Laufen zu bringen, ist Ihre beste Wahl entweder nicht auf das Muster, sondern auf das Muster, sondern auf type, dateStyle und timeStyle (und das Gebietsschema) stattdessen, oder Erstellen Sie einen benutzerdefinierten Datumskonverter, der extends DateTimeConverter und überschreibt die Methoden entsprechend.

Andere Tipps

Sie müssen auch javax.faces.converter.datetimeConverter.time in Ihren Nachrichten definieren.

Schau hier: http://www.icefaces.org/jforum/posts/List/16119.page Ein Beitrag vor dem letzten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top