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

Struts 1 Java Discussion :

[Struts-layout 1.3] Tri Date n'importe comment sur layout:collection


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut [Struts-layout 1.3] Tri Date n'importe comment sur layout:collection
    Hello les gens;
    Tout est dans le titre. Je viens de me rendre compte que le tri des colonnes contenant un type Date dans un sont trié bizarrement.
    Voici mon code:
    ma jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <layout:collection model="fixedHeader" width="100%"
    						align="center" id="iteration" indexId="index" sortAction="client"
    						styleClass="impaire" styleClass2="paire"
    						height="332"
    						bundle="labelScreen" emptyKey="page.struts_layout.collection.vide"
    						property="list" name="form" styleClass="FORM">
     
    						<layout:collectionItem sortable="true" type="date"
    							title="page.admin.myBills.column.label.date.generation"
    							property="genDate" />
    Sur mon action les beans sont rempli comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Form beanForm = (Form) form;
    Random random = new Random();
    MonBean dataBean = new MonBean();
    dataBean.setGenDate(new Date(random.nextInt()));
    Et voici la class responsable du formattage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class MonFormatter extends DispatchFormatter {
     
    	public String date(Object in_date, PageContext in_pageContext) {
    		Date lc_date = (Date) in_date;
    		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
    		return simpleDateFormat.format(lc_date);
    	}
     
    }
    Merci pour toutes vos contributions.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Ça serait bien de préciser ce que tu entends par "trié bizarrement".
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    As-tu déclaré la classe MonFormatter dans le fichier Struts-Layout_default.properties dans la clé formatter.class, comme indiqué dans les features du site de Struts-Layout.

  4. #4
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    Ça serait bien de préciser ce que tu entends par "trié bizarrement"
    Tres bonne question. Il me semble que les jours et mois sont tries correctement, les annees quand a elles "subissent" un group by ou sont triees inversement a l'ordre des jours et mois. Un exemple pour illustrer mes propos:
    Un tri ascendant:
    01/01/1990
    02/01/1990
    01/02/1990
    01/01/1989
    02/01/1989
    As-tu déclaré la classe MonFormatter dans le fichier
    Oui bien sur.

  5. #5
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    Il me semble que les jours et mois sont tries correctement, les annees quand a elles "subissent" un group by ou sont triees inversement a l'ordre des jours et mois. Un exemple pour illustrer mes propos...
    ça n'est pas du tout ça. Je n'arrive pas cerner la logique de tri de ces dates. C'est un peu au petit bonheur la chance ??!?

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    J'ai fait un test hier chez moi, effectivement, c'est du gros n'importe quoi
    Je regarde dans le code pour savoir ce qu'ils font exactement, je te tiens au courant...

    fr.improve.struts.taglib.layout.sort.BeanComparator
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    Sans collectionTilte, ça marche...
    pas chez moi mais je veuw bien essayer avec ta classe.
    Voilà, si tu intègres cette classe à ton projet
    je fais comment ? Je régénère un jar en remplaçant dans les sources la classe CollectionTag par la tienne?

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu crées un package fr.improve.struts.taglib.layout.collection dans src, tu crées une classe CollectionTag dans ce package et tu colles le contenu que je t'ai fourni dedans.
    (elle sera prioritaire sur celle du jar)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    (elle sera prioritaire sur celle du jar)
    Je me coucherais moins bête ce soir.
    Par contre quel version as tu de struts-layout ? Il me manque les deux interfaces:
    "fr.improve.struts.taglib.layout.util.IFilterableHeaderRenderer" et
    "fr.improve.struts.taglib.layout.util.ISelectionCellRenderer"

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je l'ai faite sur une base de struts-layout 1.4.2... Tu utilises la 1.3.x ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    yep

Discussions similaires

  1. [Struts-Layout] Trop de colonnes lors d'un "add" sur un datagrid
    Par worldchampion57 dans le forum Struts 1
    Réponses: 12
    Dernier message: 07/04/2009, 14h25
  2. Réponses: 8
    Dernier message: 24/09/2007, 15h39
  3. [Struts-Layout] utilisation du tag date
    Par osman.amine dans le forum Struts 1
    Réponses: 3
    Dernier message: 25/05/2007, 15h59
  4. [XSLT] Tri de date par mois : comment faire ?
    Par sdkddk dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 04/08/2006, 21h37
  5. Ajout date pendant importation
    Par uloaccess dans le forum Access
    Réponses: 11
    Dernier message: 09/01/2006, 16h27

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