JSF Convertisseur Timestamp
Je veux convertir mon entrée en une valeur d'horodatage.
J'ai seulement trouvé un dateconverter dans les exemples. Existe-il des pratiques exemplaires?
Merci
Mise à jour:
Je veux enregistrer un anniversaire d'un utilisateur, mais mon backend exige une valeur d'horodatage. Et j'ai des problèmes avec la liaison à mon jsf frontend..
Peut-être un lien vers un exemple serait très intéressant 🙂
Je l'ai essayé comme suit:
public void setBday(Date bday) {
member.setBirthday(new Timestamp(bday.getTime()));
}
public Timestamp getBday() {
return member.getBirthday();
}
Mais je reçois des exceptions (étrange):
/createMember.xhtml @34,54 value="#{member.bday}": Cannot convert 13.01.83 01:00 of type class java.util.Date to class java.sql.Timestamp
(C'est peut-être à cause de la méthode get?)
OriginalL'auteur Sven | 2011-01-09
Vous devez vous connecter pour publier un commentaire.
Lier à
Date#getTime()
au lieu d'obtenir/définir le raw de temps en millisecondes.Ou si vous voulez d'entrée/sortie lisible par l'homme de la date, il suffit ensuite de coller à l'aide de
#{bean.date}
et l'utilisation de la norme date de convertisseurs.Dans le backend suffit d'utiliser
Date#getTime()
pour traiter l'horodatage.Mise à jour: vous ne devriez pas vous encombrer de votre modèle avec JDBC API spécifique. Le
java.util.Date
représente l'horodatage. Utilisationjava.sql.Timestamp
qu'à ce stade, vous êtes sur le point de persister unjava.util.Date
dans unTIMESTAMP
ouDATETIME
colonne de votre base de données.Je ne m'attendais pas que vous avez utilisé
java.sql.Timestamp
dans votre modèle. Voir la réponse de mise à jour.Mais que faire si vous êtes contraint d'utiliser l'Horodatage par une API sous-jacente, comme avec jBPM: community.jboss.org/thread/162961
OriginalL'auteur BalusC