Domanda

Ho problemi con f: convertDateTime, che sembra utilizzare il messaggio di errore javax.faces.converter.DateTimeConverter.DATE_detail quando converto tempo (vale a dire che si dovrebbe usare javax.faces .converter.DateTimeConverter.TIME_detail ).

Il problema, sto cercando di indovinare, è che io uso un modello, e quindi non sa se si tratta di una data o un momento che si sta legando per convertire. Questo è quello che sto cercando ( "timePattern" è "hh.mm"):

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

Anche se è specificato type = "tempo", si utilizza ancora il DATE_detail messaggio di errore. Questo è un bug o è la mia ipotesi che dovrebbe utilizzare il TIME_detail messaggio di errore sbagliato, e devo creare il mio convertitore?

È stato utile?

Soluzione

Purtroppo, questo è anche ciò che il DateTimeConverter javadoc sta dicendo. Ecco un estratto di rilevanza:

  

Se è stato specificato un pattern, la sua sintassi deve essere conforme alle norme specificate dal java.text.SimpleDateFormat. Tale modello viene utilizzato per analizzare, e il type, dateStyle, e le proprietà timeStyle verrà ignorata.

Devo però ammettere che i ragazzi JSF hanno dovuto specificarlo esplicitamente nel f:convertDateTime pdldoc pure. Non è evidente da lì. Mi piacerebbe segnalare un problema per i ragazzi JSF per farli chiarire questa parte.

Per farlo funzionare, la soluzione migliore è o non basandosi sul modello, ma su type, dateStyle e timeStyle (e il locale), invece, o di creare un convertitore di tempo data personalizzata che extends DateTimeConverter e sostituisce i metodi di conseguenza.

Altri suggerimenti

Hai anche definire javax.faces.converter.DateTimeConverter.TIME nei tuoi messaggi.

Guardate qui: http://www.icefaces.org/JForum/ messaggi / list / 16119.page un post prima all'ultima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top