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] Afficher une ArrayList sur plusieurs pages


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [Struts] Afficher une ArrayList sur plusieurs pages
    Bonjour,

    Je souhaiterais afficher une ArrayList contenant des classes "Project". Chaque projet doit être affiché dans un tableau contenant les informations du projet.

    J'ai réussi à afficher l'ensemble des projets de la ArrayList grace à un logic:iterate, mais j'aimerai limiter le nombre de projet par pages et permettre à l'utilisateur de naviguer parmi différentes pages pour acceder à tout les projets (comme le numéro des pages pour un forum par exemple)

    Struts-layout me permet d'afficher une ArrayList sur plusieur page mais uniquement sous forme d'une ligne par projet a l'aide du tag <layout:collection> alors que je voudrais un tableau par projet.

    Voila, si quelqu'un a déjà eu à faire ce genre de chose...

    Merci



    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    zag
    zag est déconnecté
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 75
    Points
    75
    Par défaut
    slt

    tu devrais pouvoir y arriver avec struts-layout de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <layout:pager maxPageItems="10">
    	<layout:collection 	name="lstProjects"
    						id="project">
    		<layout:collectionItem title=""  >
                              // et là tu construis ton tableau en utilisant des table, tr td ou ce que tu veux d'ailleurs en manipulant le bean nommé project
    		</layout:collectionItem>
    	</layout:collection>
    </layout:pager>
    Dans cet exemple tu auras une pagination par groupe de 10 projets.
    Ta page sera constitué d'un tableau généré par layout:collection, avec une seule colonne, et une ligne par projet affiché. A toi de mettre ce que tu veux sur cette ligne, en l'occurence un autre tableau pour décrire ton projet.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Ok, merci bcp,

    J'avais pensé à un truc comme ça, mais j'avais peur que ça me génère du code du genre <table><tr><table>Projet</table></tr></table> . Dont, j'avoue, j'ignore ce que donne le résultat.

    Enfin, j'essaierai quand même ta méthode et je te tiens au courant

  4. #4
    zag
    zag est déconnecté
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 75
    Points
    75
    Par défaut
    je veux pas te décevoir mais c'est ce qui va se passer! Ton layout:collection va générer un table, puis pour chaque bean projet un tr et un td.
    Et toi tu vas créer une table dans ce td en fait.

    Normalement ca devrait pas poser de problème, à toi de gérer ca correctement au niveau de la mise en page et des css.
    Fais en sorte que ces table tr et td générés par struts layout restent neutres, donc pas de définition de style css genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    table{
    ...
    }
    tr{
    ...
    }
    td{
    ...
    }

    Ca évitera les interférences avec les styles que tu utiliseras pour tes tableaux "projet".

    Tente le coup je pense que ca ira,

    bon courage

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Oui, je vais essayer de me débrouiller ! j'ai l'habitude de ce genre de bidule !

    Merci bcp en tout cas !!

  6. #6
    Futur Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    J'ai essayé ce que tu m'as dit, ça marche nickel ! vraiment merci, tu m'otes une fière chandelle du pied

    Le truc maintenant, c'est que j'aurais voulu mettre des checkbox pour chacun de mes projets et que l'utilisateur puisse les selectionner et qu'elles soient mémorisées à travers les pages pour ensuite être récupérer lorsque l'utilisateur cliquera sur un autre lien (genre "suivant").

    Il me semble avoir lu quelque part qu'il fallait paramétrer struts.properties, mais je ne me rappelle plus où.

    Voila, si jamais ça t'inspire, tu m'aideras bcp !

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2008, 17h24
  2. afficher une liste sur plusieurs pages
    Par bigbathie dans le forum Struts 1
    Réponses: 1
    Dernier message: 28/12/2007, 09h47
  3. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20
  4. Réponses: 2
    Dernier message: 31/05/2006, 09h47
  5. [Struts]Affiche d'une liste sur plusieurs pages
    Par guillaume_85 dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/06/2005, 20h23

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