IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Problème avec l'affichage des dates en utilisant PrimeFaces avec JSF


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java/ J2EE
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java/ J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 15
    Points
    15
    Par défaut Problème avec l'affichage des dates en utilisant PrimeFaces avec JSF
    Bonjour,

    j'utilise le composant 'calendar' de primefaces et ca semble bien fonctionner, mais mon problème vient lorsque je veux afficher la date enregistrée via un composant JSF 'outputText' , la date affichée ne correspond pas correctement à la date enregistrée. Quelqu'un sait pourquoi ?

    voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p:calendar value="#{usNouveauDossier.dossier.dateEcheanceInitial}" pattern="dd/MM/yyyy" showButtonPanel="true" effect="drop"/>
    usNouveauDossier, c'est le nom d'un managed bean.
    L'enregistrement dans une BDD MySQL se fait bien puisque si je veux modifier la date, l'application l'affiche correctement.

    Cependant, lorsque j'essaie de l'afficher dans un 'outputText'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <h:outputText value="#{dossier.dateEcheanceInitial}" styleClass="little">
    						<f:convertDateTime pattern="dd/MM/yyyy" type="date"/>
    					</h:outputText>
    Ce composant est inclus dans un dataTable et dossier c'est la valeur donnée à l'attribut 'var' du dataTable pour le parcourt.

    il m'affiche une autre date...


    SOS ! j'ai une soutenance technique demain ..

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonjour,

    As-tu essayé en précisant l'attribut timeZone ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:convertDateTime pattern="dd/MM/yyyy" type="date" timeZone="Europe/Paris" />
    Pourquoi mes dates, récupérées depuis ma base de données, sont-elles affichées avec un jour de moins sur ma page JSF ?
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Je souhaite aussi afficher la date en utilisant PrimeFaces avec JSF:

    Le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <p:column>
                            <f:facet name="header">
                                <h:outputText value="DateOfBirth"/>
                            </f:facet>
                            <h:outputText value="#{item.dateOfBirth}">
                                <f:convertDateTime pattern="MM/dd/yyyy" />
                            </h:outputText>
                        </p:column>
    Je souhaite le modifier en:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     <p:column headerText="Date of birth"
                            sortBy="#{item.dateOfBirth}"
                            filterBy="#{item.dateOfBirth}"
                            filterMatchMode="contains">
                         <h:commandLink action="#{userMBean.showDetails(item)}" value="#{item.dateOfBirth}"/> 
                         </p:column>
    cmt faire pour insérer la ligne de code en rouge?
    Je vous remercie

  4. #4
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Bonjour,

    il te faut utiliser une fonction personnalisée.
    La manière de procéder ici :
    http://stackoverflow.com/questions/7...ute-in-a-table
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Points : 19
    Points
    19
    Par défaut
    Je vous remercie pour votre réponse.
    l'erreur qui s'est produite lors de l'exécution est en relation avec Primefaces:

    <f:convertDateTime> Parent not an instance of ValueHolder: org.primefaces.component.column.Column@1b74d3f

    Le convertDateTime fonctionne à merveille si j'utilise le premier code, mais pas avec le 2ème.

    Excusez mois svp d'avoir oublié de mentionner l'erreur.

  6. #6
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    effectivement le <f:convertDateTime> ne fonctionne que sur un composant de type "ValueHolder" ... et malheureusement h:commandButton n'est est pas un malgré la présence de l'attribut "value".

    Comme indiqué précédemment, il faut réaliser une petite fonction personnalisée, qui s'appuie d'ailleurs sur le converter de date de JSF
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Points : 19
    Points
    19
    Par défaut
    D'accord
    Je vous remercie

Discussions similaires

  1. [Toutes versions] Confusion de résultats dans recherche des occurrences d'une valeur avec Find sur des dates
    Par iperkut dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/11/2011, 19h07
  2. Réponses: 12
    Dernier message: 31/03/2007, 08h38
  3. [débutant] problème avec l'affichage des lettres sou dev-C++
    Par Antigonos Ier Gonatas dans le forum Dev-C++
    Réponses: 9
    Dernier message: 02/04/2006, 22h22
  4. problème avec l'affichage des caractères spéciaux
    Par michelkey dans le forum Général Python
    Réponses: 4
    Dernier message: 19/08/2005, 08h09
  5. Réponses: 11
    Dernier message: 16/12/2003, 19h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo