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 :

afficher un nombre limité par page


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut afficher un nombre limité par page
    Bonjour,
    je développe une application web avec jsp (j2ee), mon besoin est de faire importer un nombre limité de produit par page avec deux bouton "suivant" et "précédent" pour pouvoir naviguer, mon code est celui-ci:

    <%@ page contentType="text/html;charset=windows-1252" import="view.*,java.util.*"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <body>

    <table width="200" border="0">
    <tr>
    <td>
    <table border=1>
    <tr>
    <td><input type="checkbox" checkme="group" tabindex="12"></td>
    <td>Type</td>
    <td>Sujet</td>
    <td>Message</td>
    </tr>
    <%
    Contact cont= new Contact();
    Vector v=cont.getListeContact();
    int p = 1;
    int suivant = p + 1;
    int precedent = p - 1;
    int nppp=3;
    for(int i=1; i<=nppp;i++){
    Contact s=(Contact)v.elementAt(i);
    String typeCon=s.TypeContact;
    String sujetCon=s.sujetContact;
    String mailCon=s.mailContact;
    int idCon=s.idContact;
    %>
    <tr>
    <td><input name="<%=idCon%>" type="checkbox" checkme="group" tabindex="12">
    <td> <%=typeCon%></td>
    <td> <%=sujetCon%></td>
    <td><a href="" >détails </a></td>
    </tr><%}%>
    </table>
    </td>
    </tr>
    <tr>
    <td align="center"><input onclick="return confirm();" name="submit" type="submit" id="supprimer" value="supprimer" tabindex="3"/></td>
    </tr>
    </table>
    <table>
    <tr>
    <td width="200px"><%if(precedent >= 1){out.println("<a href=admin_consulter_mail1.jsp?p="+precedent+">precedent</a>");}%></td>
    <td width="200px"><%if(suivant <= v.size()){out.println("<a href=admin_consulter_mail1.jsp?p="+suivant+">suivant</a>");}%></td>
    </tr>
    </table>
    </body>
    </html>


    et la page contact.java est:
    package view;
    import com.evermind.sql.ResultSetBCELProxy;
    import java.sql.*;
    import java .io.*;
    import java.util.*;
    public class Contact
    {
    /**
    *
    * @param args
    */
    public int idContact;
    public String TypeContact;
    public String sujetContact;
    public String mailContact;
    public String messageContact;

    public Contact(int idContact,String TypeContact,String sujetContact,String mailContact,String messageContact)
    {
    this.idContact=idContact;
    this.TypeContact=TypeContact;
    this.sujetContact=sujetContact;
    this.mailContact=mailContact;
    this.messageContact=messageContact;
    }
    public Vector getListeContact(){
    Vector tmp=new Vector();
    try
    {
    Connection con=Connexion.getConnexion();
    Statement st=con.createStatement();
    String requete="select * from contactadmin";
    ResultSet rs=st.executeQuery(requete);
    while(rs.next()){
    String Type=rs.getString("typeContact");
    String sujet=rs.getString("sujetContact");
    String mail=rs.getString("mailContact");
    String message=rs.getString("messageContact");
    Contact d=new Contact(Type,sujet,mail,message);
    tmp.addElement(d);
    }
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    return(tmp);
    }
    }

    le résultat que j'obtient apres l'exécusion de ce code c'est l'affichage des tois premiers messages (c'est bon) et lorsque j'appuie sur le bouton "suivant" il affiche les memes trois premiers messages
    alors où est ma faute? svp aidez moi à trouver la bonne solution et merci d'avance

  2. #2
    Membre chevronné
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Par défaut
    Tu utilises une variable p :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    admin_consulter_mail1.jsp?p="+precedent
    mais lorsque tu retourne sur ta jsp ou y arrive tu ne prend jamais en compte la valeur que tu passe en paramètre à ta jsp qui prend toujour la même valeur.

    ajoute le code suivant en haut de ta jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:useBean id="p" class="java.lang.String" scope="request" />
    et remplace int p = 1; par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int pageCourante = 1;
    if(null!=p)&&(!"".equals(p))
    {
    	pageCourante = p;
    }	
     
    int suivant = pageCourante  + 1;
    int precedent = pageCourante  - 1;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut
    ajoute le code suivant en haut de ta jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:useBean id="p" class="java.lang.String" scope="request" />
    et remplace int p = 1; par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int pageCourante = 1;
    if(null!=p)&&(!"".equals(p))
    {
    	pageCourante = p;
    }	
     
    int suivant = pageCourante  + 1;
    int precedent = pageCourante  - 1;
    merci pour la réponse;;
    j'ai changé mon code en:
    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
    <%             
                   int pageCourante = 1;
                   if((null!=p)&&(!"".equals(p))){pageCourante = p;}        
                   int suivant = pageCourante  + 1;
                   int precedent = pageCourante  - 1;
                   int nppp=3;
                   Contact cont= new Contact();
                   Vector v=cont.getListeContact();
                   for(int i=1; i<=nppp;i++){
                   Contact s=(Contact)v.elementAt(i);
                   String typeCon=s.TypeContact;
                   String sujetCon=s.sujetContact;
                   String mailCon=s.mailContact;
                   int idCon=s.idContact;               
                   %>
    avec dans l'entete de la page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <%@ page contentType="text/html;charset=windows-1252" import="view.*,java.util.*"%>
    <jsp:useBean id="p" class="java.lang.String" scope="request" />
    Mais en exécutant il ya une erreur indiqué à la ligne2 " if((null!=....."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    incompatible types; found: java.lang.String, required: int
    comment puis je corriger cette erreur?merci pour votre aide

  4. #4
    Membre chevronné
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Par défaut
    oups j'avais oublié le caste p

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pageCourante = Interger.parseInt(p);
    Normalement cela devrait être bon maintenant

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut
    Citation Envoyé par link256 Voir le message
    oups j'avais oublié le caste p

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pageCourante = Interger.parseInt(p);
    Normalement cela devrait être bon maintenant
    merci pour la réponse ,,pas d'erreur mnt
    mais le meme probleme persiste encore
    car le résultat m'affiche pour la premiere fois les trois premieres enregistrement de la bd et en cliquant sur suivant il m'affiche les mêmes trois première enregistrements;; il me manque surement une boucle pour passer aux autres!
    mais quesque je dois incrémenter??
    merci de votre aide

  6. #6
    Membre chevronné
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Par défaut
    Ton erreur est là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(int i=1; i<=nppp;i++)
    tu initialises toujours i = 1 au lieu de pageCourante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(int i=pageCourante; i<=nppp;i++)

Discussions similaires

  1. [XL-2003] Macro pour mise en page, affichant le nombre total de pages du classeur entier
    Par BtjpsspgrW dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/10/2014, 09h38
  2. WCF Data Services et Service Operator limité par page
    Par dGalugis dans le forum Services Web
    Réponses: 1
    Dernier message: 07/09/2011, 07h35
  3. Afficher le nombre total de page Printpreviewdialog
    Par olibara dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/11/2009, 14h15
  4. Afficher les totaux cumulés par page
    Par thierrykammi dans le forum iReport
    Réponses: 1
    Dernier message: 14/10/2008, 17h10
  5. [Conception] Afficher uniquement un nombre de ligne de BDD par page (pageNum_Rs)
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/10/2006, 12h00

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