57 votes

JSF 2 : Format de date de sortie en EL

Si #{myBean.birthdate} est java.util.Calendar ou java.util.Date type, je peux éventuellement le format de ce à l'intérieur de la EL elle-même à l'aide d'une fonction existante peut-être, avec la sortie de comme celle produite par l' DateFormats' SHORT, MEDIUM,LONG abd FULL type de sortie?

Au lieu de reproduire la forme complète pour l' #{myBean.birthdate}: Mer Jan 19 19:01:42 WIT 2011, je préfère juste une simple sortie de Jan 19, 2011.

Dois-je utiliser #{formatBean.format(myBean.birthdate)} à la place?

156voto

Jigar Joshi Points 116533
 <h:outputText value="#{someBean.dateField}" >
              <f:convertDateTime pattern="dd.MM.yyyy HH:mm" />
 </h:outputText>

25voto

Martin Höller Points 806

Si vous utilisez OmniFaces vous pouvez également l'utiliser EL des fonctions comme of:formatDate() de format Date objets. Vous pouvez l'utiliser comme ceci:

<h:outputText value="#{of:formatDate(someBean.dateField, 'dd.MM.yyyy HH:mm')}" />

De cette façon, vous pouvez non seulement l'utiliser pour la production, mais aussi de le transmettre à d'autres composants JSF.

6voto

Avec EL 2 (Expression de la Langue 2) vous pouvez utiliser ce type de construction pour votre question:

    #{formatBean.format(myBean.birthdate)}

Ou vous pouvez ajouter une autre getter dans votre bean résultant dans

    #{myBean.birthdateString}

où getBirthdateString renvoie le texte proprement dit de la représentation. N'oubliez pas de les annoter la méthode get @Transitoire si c'est une Entité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X