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 :

DataTable problème de date


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut DataTable problème de date
    Bonjour tout le monde ,


    J'ai un petit problème avec une JSF.

    Le but de cette dernière est d'afficher des données contenues dans une base de donnée à savoir : un id , une date de début , une date de fin.

    Pour cela j'utilise une dataTable dont voici le bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <h:outputText value="#{manageValidation.essai }" />
     
    	<h:dataTable value="#{manageValidation.dataList}" var="dataItem" border="3">
    		<h:column>
    			<f:facet name="header">
    				<h:outputText value="Selected" />
    			</f:facet>
    			<h:selectBooleanCheckbox value="#{dataItem.selected}" />
    		</h:column>
    		<h:column>
    			<f:facet name="header">
    				<h:outputText value="User" />
    			</f:facet>
    			<h:outputText value="#{dataItem.occcupation.idUser}" />
    		</h:column>
    		<h:column>
    			<f:facet name="header">
    				<h:outputText value="Start" />
    			</f:facet>
    			<h:outputText value="#{dataItem.occcupation.startDate}" />
    		</h:column>
    		<h:column>
    			<f:facet name="header">
    				<h:outputText value="End" />
    			</f:facet>
    			<h:outputText value="#{dataItem.occcupation.endDate}" />
    		</h:column>
    	</h:dataTable>

    Pour cela , j'utilise une ArrayList d'objets Occupation qui contient mes 2 dates et d'autres infos.

    Le backing bean que j'utilise est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    	public manageValidation()
    	{
    		try
    		{
     
    			ExternalContext context = FacesContext.getCurrentInstance().getExternalContext(); 
    			login = (loginController)((HttpSession)context.getSession(false)).getAttribute("loginController"); 
     
    			List<Occupation> list = login.getUser().getNonValidateOccupation();
    			for(int i=0 ; i<list.size() ; i++)
    			{
    				JOccupation jocc = new JOccupation();
    				System.out.println("NumUser "+list.get(i).getIdUser());
    				System.out.println("Date "+list.get(i).getStartDate());
    				jocc.setOcccupation(list.get(i));
    				System.out.println("Date dans jocc "+jocc.getOcccupation().getStartDate());
    				System.out.println("Type "+jocc.getOcccupation().getDayMode());
    				dataList.add(jocc);
    				System.out.println("Date dans dataList "+dataList.get(i).getOcccupation().getStartDate());
    				System.out.println("Date dans dataList "+dataList.get(i).getOcccupation().getEndDate());
     
    			}
     
    		}
    		catch (Exception ex)
    		{
    			ex.printStackTrace();
    		}
    	}
    L'objet JOccupation encapsule mon objet Occupation et lui rajoute une propriété "Selected" mais bon, ça on s'en fou.

    J'ai mis tout plein d'affichage (parceque je devenais dingue) , dans lesquels j'affiche la date que j'aimerais afficher. Jusque là rien d'anormal puisque la date à l'écran est bien la date se trouvant dans la base de données.

    Seul problème , la date affichée dans la JSF tombe un jour trop tot. Par exemple :

    Si j'ai le 30 mars 2008 dans ma BDD , j'affiche 30 mars 2008 dans mes println , mais dans la JSF il me met 29 mars 2008.

    D'où cela peut-il provenir sachant que dans mon code je n'effectue jamais une opération de soustraction aux jours du mois. Au début je pensais à une mauvaise gestion quelque part avec Hibernate mais c'est quand même troublant que le println affiche la bonne date , mais pas la JSF :s


    Merci d'avance ^^


    EDIT : Petite précision , si je décide d'afficher la date du jour dans ma JSF , elle est bien correcte.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Ce problème a déjà été vu ici, c'est un souci de conversion de date.
    J'essaie de te retrouver le post où on en a parler !
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bah en fait il suffit juste d'aller voir la FAQ qui dispose d'une entrée "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 ?" !! (en plus c'est moi qui l'avait écrite cette entrée )
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut
    Ok merci ça marche !


    Ca m'apprendra à ne pas regarder la FAQ plus tôt :s


    Allez hop , tag résolu :p

  5. #5
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Ce problème a déjà été vu ici, c'est un souci de conversion de date.
    J'essaie de te retrouver le post où on en a parler !
    Mieux encore, c'est dans la faq:
    http://java.developpez.com/faq/jsf/?...EUR_wrong_date

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de date dans un datatable
    Par mappy dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/09/2007, 10h10
  2. problème de date
    Par baboune dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 10/06/2004, 10h52
  3. Problème de date dans MONTHS_BETWEEN
    Par ghostlord79 dans le forum Oracle
    Réponses: 10
    Dernier message: 07/04/2004, 11h21
  4. Problème conversion date
    Par mat.M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2004, 15h05
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 18h22

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