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 :

affichage d'une liste sur plusieurs pages


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 64
    Par défaut affichage d'une liste sur plusieurs pages
    Bonjour
    Dans mon application après saisie de critères de recherche tel que les premières lettres du nom par exemple, je dois afficher la liste de mes clients avec le nom , prénom et département : le nombre maximum est 1000 .

    L'utilisateur demande d'afficher 50 clients par page ce qui peut me faire un maximum de 20 pages. Il souhaite donc avoir des liens "debut", "précédent", suivant" et "fin" de manière à naviguer ds la liste.
    Pour l'instant j'ai programmé l'affichage complet ; au niveau de ma jsp, j'utilise une balise struts <logic:iterate indexId="i"..... pour afficher ma liste de mon bean (c'est une Arraylist) et ça marche bien.

    Ce que je voudrais savoir c'est comment programmer cela (je suis débutante ds ce domaine) : chaque fois que je clique sur un lien (debut, précédent....),est ce que je dois retourner dans mon action afin de gérer à chaque fois une nouvelle liste ou bien est ce que cela peut se faire en restant dans la jsp (javascript ou autre)?

    Merci de votre réponse

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Par défaut
    tu trouvera sûrement une solution simple avec du javascript. Ce qui évitera de faire un appel à ton action.

    concernant la pagination en java tu peux également la gérer via ton action. Il me semble que le "logic iterate" prend en paramètre un "début" et une "fin" d'itération.

    Ou encore mieux c'est d'utiliser display-table qui gère très facilement la pagination et le tri et ainsi que l'I18N . http://displaytag.sourceforge.net/11/

    A toi de voir
    personnellement quand tu as essayer une fois "display table" tu ne pourras plus t'en passer.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 64
    Par défaut
    J'ai jeté un oeil à display -tag ; masi est ce compatible avec struts ?

  4. #4
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut
    Citation Envoyé par sandrine49 Voir le message
    J'ai jeté un oeil à display -tag ; masi est ce compatible avec struts ?
    oui display-tag est bien compatible avec STRUTS, pour l'utiliser il suffit d'ajouter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
    dans ton jsp.
    ici tu trouvera aussi un tutoriel qu'il peut t'aider.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 64
    Par défaut
    Merci
    Mais je débute vraiment et ce que j'ai fait, je l'ai fait en recopiant des parties d'applications existante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <logic:iterate indexId="i" id="leClient" type="client" name="searchClientForm" property="listeClients" >
    <logic:present name="unAgent">
    	<bean:define id="nom" name="leClient" property="nom" />
      	<bean:define id="prenom" name="leClient" property="prenom" />								
    	<tr>
    	   <td><bean:write name="nom" filter="true" /></html:link></td>
    	   <td><bean:write name="prenom" filter="true" /></html:link></td>
    	</tr>								
    </logic:present>
    Donc ça ça marche en affichant le résultat sur une page mais je ne vois pas trop comment faire le lien entre mon bean de formulaire (searchClientForm) et le display tag.
    De plus je n'ai pas bien compris comment s'affichait la ligne "first/prev..." et comment la paramétrer pour qu'elle s'affiche en français.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Par défaut
    si tu utilises display:table alors ton code devrait ressembler à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <display:table  class="report" cellspacing="0" cellpadding="0" width="99%" border="0" name="searchClientForm" property="listeClients" id="client" requestURI="MonAction.do" pagesize="10">
    <logic:present name="unAgent">
    <display:column title="nom" sortable="true" property="nom"/>
    <display:column title="prenom" sortable="true" property="prenom"/>
    </logic:present>
    </display:table>
    "MonAction.do" correspond à l'action que tu appelle afin d'arriver à ta jsp.

    N'oublie pas de bien rajoutter dans ton projet dans le répertoire WEB-INF par exemple la tld: displaytag-11.tld

    dans ton fichier web.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <!-- taglib display -->
    	<taglib>
    		<taglib-uri>/tags/displaytag-11</taglib-uri>
    		<taglib-location>/WEB-INF/tld/displaytag-11.tld</taglib-location>
    	</taglib>
    et dans ta jsp au debut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib uri="/WEB-INF/tld/displaytag-11.tld" prefix="display" %>
    concernant ta pagination et l'affichage de "previous" et "next" se fait automatiquement dès que tu as atteind la taille spécifiée dans le display: table pagesize="15" par exemple fera la pagination sur 15 résultats...
    concernant son internationalisation: http://displaytag.sourceforge.net/11/i18n.html

    et si le style ne te plais pas:
    http://displaytag.sourceforge.net/11/configuration.html

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. [MySQL] Affichage des résultats d'une requête sur plusieurs pages
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 13h24
  4. [JSP]affichage d'un tableau sur plusieurs pages
    Par MAJIK_ENIS dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 29/08/2005, 11h21
  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