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

Servlets/JSP Java Discussion :

[JSP] liste d'affichage : quelle class en java ?


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2006
    Messages : 34
    Par défaut [JSP] liste d'affichage : quelle class en java ?
    Bonjour,

    Voilà mon problème : j'ai un outil de recherche sur mon appli web. Quand on lance la recherche, ma servlet appelle une classe qui fait la requete sql dans une bd et qui retourne une hashtable (avec l'id en key). Ma servlet retourne cette hashtable. Afin que l'ordre par rapport à l'id soit respecté, cette hashtable est transformée en tree dans ma jsp (avec la methode compare sur la key qui est une string). Ensuite, l'affichage se fait correctement.
    Remarque : si je ne transforme pas ma hashtable en tree, l'ordre bien mis dans ma servlet n'est plus respecté à l'affichage dans la jsp.

    Le problème est que je veux implémenter une fonction de tri sur les différentes colonnes.
    La methode la plus simple est de changer le order by de ma requete : pb le tree de ma jsp est construit avec la methode compare sur la key de ma hashtable ; et impossible de changer ma key de hashtable car il y aura des key identiques.
    Existe t il une possibilité de construire mon tree avec autre chose que "tree.addAll(hashtable.keyset)" ???

    Alors je me dis que ma methode d'afficher par une hashtable transformée en tree n'est surement pas la bonne (je sais ça fait bidouille). Maintenant que je suis confronté à un pb qui parait insoluble je vais surement changer ma methode d'affichage de liste : mais j'ai besoin de vos conseils !!!

    Merci de m'aider...

  2. #2
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Bonjour,

    tu peux définir un Comparator générique qui via l'API reflection va faire le tri en fonction du nom de l'attribut que tu lui passes. C'est comme cela que fonctionne le Display Tag.

    Mais tu peux aussi directement utiliser ce dernier

    Eric

  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
    Citation Envoyé par SanNash
    Remarque : si je ne transforme pas ma hashtable en tree, l'ordre bien mis dans ma servlet n'est plus respecté à l'affichage dans la jsp.
    Je ne sais pas si ça peut t'aider mais tu pourrais utiliser la LinkedHashMap qui respecte l'ordre d'insertion.

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2006
    Messages : 34
    Par défaut
    Est ce que la linkedHashMap gardera son ordre d'insertion intact meme en passant de la servlet à la jsp (c le pb de la hashtable) ??

    Je vais regarder tout ce que vous m'avez conseillé.

    Merci !

  5. #5
    Membre chevronné Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    402
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 402
    Par défaut
    Je confirme l'idée du displayTag.
    Non seulement il tri automatiquement sur un nom de colonne en fonction du property passé en parametre mais il a également un attribut "sortProperty" pour un property donnée.
    Ce sortProperty permet de definir un tri personnalisé. Il suffit alors de definir un getSortPerso dans l'objet affiché sur chaque ligne par le displayTag.

    En espérant avoir été clair...

  6. #6
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2006
    Messages : 34
    Par défaut
    Merci pour votre proposition du display tag, mais l'idée de la class linkedhashmap m'a paru la plus facile à mettre en place compte tenu de mon code existant. Cela marche parfaitement (pour le moment en tout cas). Je pensais pas m'en sortir si facilement, donc merci à c_nvy !!!

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

Discussions similaires

  1. Quelle classes Java pour mon interface ?
    Par sitws dans le forum Débuter
    Réponses: 4
    Dernier message: 28/04/2011, 13h42
  2. Réponses: 1
    Dernier message: 19/10/2009, 09h59
  3. JSP, problème d'affichage d'une liste
    Par Dammss dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/07/2009, 11h30
  4. [JSP] Liste déroulante - affichage
    Par nemie dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 21/07/2008, 11h14
  5. Liste de toutes les classes de l'API Java
    Par Albataur dans le forum Général Java
    Réponses: 6
    Dernier message: 12/02/2008, 17h02

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