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 :

Construire un formulaire qui ecrase les variables hidden


Sujet :

Servlets/JSP Java

  1. #1
    Battosaiii
    Invité(e)
    Par défaut Construire un formulaire qui ecrase les variables hidden
    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
    16
    17
    18
    19
    20
     
     
    out.println("<FORM name ='AccountForm' action=http://localhost:8080/OnlineBankingSystem/servlet/account_2 method='POST' >");
        	    System.out.println("\form executed");
        	    while (rs.next())
        	    	{
    		           // out.println("<TR><TD><A HREF='http://localhost:8080/OnlineBankingSystem/servlet/account_2'>"+rs.getString("NAME")+"</A>");
        	    	out.println("<TR><TD><input type='hidden' name='NUMBER' value='"+rs.getString("ACCOUNT_NUMBER")+"'>");
        	    	out.println("<input type='hidden' name='NAME' value='"+rs.getString("NAME")+"'>");
     
        	    out.println("<input type='submit' value='"+rs.getString("NAME")+"'></TD>");
        	    		//<TR><TD>Your accounts</TD><TD>balance</TD><TD>overdraft limit</TD></TR>
    		       //  out.println("<TR><TD><A HREF=http://localhost:8080/OnlineBankingSystem/servlet/account_2?var="+rs.getString("NAME")+">"+rs.getString("NAME")+"</A></TD>");
        	    	System.out.println("\n submit");
        	    	out.println("<TD>"+rs.getString("BALANCE")+"</TD>");
        	    	System.out.println("\n balance");  
        	    	out.println("<TD>"+rs.getString("OVERDRAFT")+"</TD></TR>");
        	    	System.out.println("\n overdraft"); 
     
        	    	}
    Le probleme avec ce code c'est que ca me genere un code html de ce type : Lorsque j'appuis sur n'importe quel submit j'envoie l'input name et l'input number avec les valeurs 13 et current account quelque soit le submit que j'applique . Ce sont les valeurs du premier partie tableau dans le html.
    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
    16
    17
    18
     
    <FORM name ='AccountForm' action=http://localhost:8080/OnlineBankingSystem/servlet/account_2 method='POST' >
    <TR><TD><input type='hidden' name='NUMBER' value='13'>
    <input type='hidden' name='NAME' value='current account'>
    <input type='submit' value='current account'></TD>
    <TD>500</TD>
    <TD>100</TD></TR>
    <TR><TD><input type='hidden' name='NUMBER' value='44'>
     
    <input type='hidden' name='NAME' value='account autre'>
    <input type='submit' value='account autre'></TD>
    <TD>100</TD>
    <TD>30</TD></TR>
    <TR><TD><input type='hidden' name='NUMBER' value='443'>
    <input type='hidden' name='NAME' value='account bleu'>
    <input type='submit' value='account bleu'></TD>
    <TD>100</TD>
    <TD>30</TD></TR>
    le probleme c'est que je voudrais envoyer les variables associes a chaque account. Cad si j'appuis sur account bleu j'envoir NUMBER=443 et NAME=account bleu

    Si j'appuis sur account autre j'envoie d'autres variables associes a celui ci.
    Hors j'envoie tout le temps les memes variables avec ce code !![/code]

  2. #2
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Petite remarque inutile (pas tant que ca). Ton code est illisible. Les JSP sont la pour faire du code propre pas du out.println partout

    Ensuite tu ne peux pas envoyer plusieurs fois le champs name="NAME"
    l'attribut name d'un input dans un formulaire doit etre unique.

    Donc si tu veux plusieurs ligne de type
    ligne 1 name value
    ligne 2 name value

    Le plus simple est de faire un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for(int i=0; i< machin, i++){
    %>
    <input type="text" name="<%="name"+i%>" value="<%=tonNameId%>"/>
    <input type="text" name="<%="value"+i%>" value="<%=tonNameId%>"/>
    <%
     
    }
    Maintenant je ne comprend pas bien l'utilité de faire ca?
    Pourquoi tu n'utilises pas un bean qui récupère ta liste et ensuite tu mets ta liste directement en session ou en attribut de request.
    Etre c'est etre relatif.

  3. #3
    Battosaiii
    Invité(e)
    Par défaut
    avec JSP j'arrive pas a utiliser ma classe connect.java qui permet de se connecter sur ma base de donnees

  4. #4
    Battosaiii
    Invité(e)
    Par défaut
    je faisais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <!-- %!@ page extends="ConnectData" % -->
    <!-- %!@ page import="ConnectData" % -->
    <%!ConnectData condat=new ConnectData() ; %>
    <!-- %!Connection con=condat.Connect(); % -->
    <!-- Find a way to send login here we can put it class ConnectData?  -->
    <!-- or store login et ID persision data together ?  -->
    <!-- %!condat.Accountdetails(Connection con,String login); % -->
    mais ca marchait pas


    Pourquoi tu n'utilises pas un bean qui récupère ta liste et ensuite tu mets ta liste directement en session ou en attribut de request.
    je ne comprends pas ce qu'est un Bean, ma liste tu veux dire ce qu'il y a dans le while ?
    Tu veux mettre la liste dans la session ? Je vois pas l'interet ? j'essaye de faire un formulaire qui en prend compte les valeurs hiddent associe a chaque compte.

  5. #5
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Non je veux juste dire que la tu ne fais pas du java, tu fais du script.

    Une JSP c'est juste fait pour afficher les données que tu as récupéré avant (dans une servlet ou dans une Action).

    Tu devrais lire les cours J2EE Servlet JSP pour comprendre un peu mieux.

    Il faut que tu centralises tes appeles a la Base.
    Pour ca tu peux très bien creer un objet (bean) qui va s'appeler par exemple UserManager avec une methode getListUser qui te retourne une ArrayList.

    La methode getListUser se charge de se connecter a la base, de faire la requete, de récupérer ta liste de fermer ta connection a la base.

    Ensuite dans ta JSP tu n'as plus qu'à appeler ce Bean en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserManager manager = new UserManager();
    et ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayListe userList = manager.getUserList();
    Et enfin tu fais une boucle for dans ta JSP qui récupere les elements de ta liste.
    Etre c'est etre relatif.

  6. #6
    Battosaiii
    Invité(e)
    Par défaut
    justement ! J'arrive pas a acceder a mon scriptlet qui contient la classe qui se connecte a ma base de donnees. Faut il faire un javabeans pour poour pouvoir utiliser dans un JSP le contenu d'une classe java ? C'est ca que j'arrive pas a faire ? Si nc'est le seul moyen ok !

  7. #7
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Ton problème de base n'est pas la.

    Ton problème de base c'est que tu utilises plusieurs champs submit dans un meme fomulaire.

    Il faut que tu entoures chaque donnée d'un accompt d'une balise Form.

    En gros ca donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <%
    while (rs.next()) { 
    %>
    <FORM name ='AccountForm' action=http://localhost:8080/OnlineBankingSystem/servlet/account_2 method='POST' >
    <TR><TD><A HREF='http://localhost:8080/OnlineBankingSystem/servlet/account_2'><%=rs.getString("NAME")%></A>
               <TR><TD><input type='hidden' name='NUMBER' value='<%=rs.getString("ACCOUNT_NUMBER")%>'>
               <input type='hidden' name='NAME' value='<%=rs.getString("NAME")%>'>
               <input type='submit' value='<%=rs.getString("NAME")%>'></TD>
               <TD><%=rs.getString("BALANCE")%></TD>                                    
               <TD><%=rs.getString("OVERDRAFT")%></TD></TR>
    </FORM>
    <%
    }
    %>
    Etre c'est etre relatif.

  8. #8
    Battosaiii
    Invité(e)
    Par défaut
    Encore une fois merci yolepro, ton aide m'a ete precieuse.
    J'ai oublie de mettre le </FORM> c'est pour ca que ca marchais pas.

Discussions similaires

  1. script .pl qui lit les variable post
    Par my_isac dans le forum Web
    Réponses: 3
    Dernier message: 15/10/2008, 10h15
  2. Formulaire qui parcourt les enregistrements
    Par lucienkany dans le forum IHM
    Réponses: 3
    Dernier message: 15/09/2008, 14h51
  3. formulaire spammé :comparer les variables
    Par isa150183 dans le forum Langage
    Réponses: 1
    Dernier message: 03/06/2007, 06h51
  4. formulaire qui transforme les données!
    Par xave dans le forum Langage
    Réponses: 11
    Dernier message: 03/07/2006, 11h58
  5. [VS2005]Destructeur qui remet les variables à 0
    Par NicolasJolet dans le forum MFC
    Réponses: 8
    Dernier message: 27/03/2006, 13h50

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