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 :

Insertion dans une BDD + JSP


Sujet :

Servlets/JSP Java

  1. #41
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Tu fais les choses de travers.
    Il faut te poser la question suivante : qui gère la liste : la jsp ou la servlet ?

    La réponse est bien évidement : la servlet.
    => c'est donc à elle de créer l'objet List.

    Ta page ne fait que récupérer l'objet transmis par la servlet, ce qui suppose que la servlet soit appelée avant. Si ce n'est pas le cas, tu devras créer une liste vide ou ne pas faire le traitement de chargement si list == null.

    En résumé, la servlet fait ceci
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {
        List<List<String>> list = new ArrayList<List<String>>();
    
        String chp_affaire = request.getParameter("affaire");
        
        String url = "jdbc:oracle:thin:@.....";
        String login = "....";
        String password = ".....";
        try{
            Connection dbc = DriverManager.getConnection(url,login,password);
            if (chp_affaire != null)
            {
                PreparedStatement pstmt_affaire = dbc.prepareStatement("SELECT id_fouille,num_ctv,num_ccs,num_adr,nom_type_voie,nom_voie,num_cp FROM fouille, ccs,numadr,nomvoie,typevoie,code_postal,numero_aff WHERE fouille.id_numero_aff = numero_aff.id_numero_aff AND fouille.id_ccs = ccs.id_ccs AND fouille.id_numAdr = numadr.id_numAdr AND fouille.id_nom_voie = nomvoie.id_nom_voie AND fouille.id_type_voie = typevoie.id_type_voie AND fouille.id_cp = code_postal.id_cp AND num_affaire= ?");
                pstmt_affaire.setString(1, chp_affaire);        
                ResultSet resultat_affaire = pstmt_affaire.executeQuery();
                ResultSetMetaData rsmd = resultat_affaire.getMetaData();
                while (resultat_affaire.next())
                {
                    List<String> record = new ArrayList<String>();
                    for (int i = 0; i < rsmd.getColumnCount(); i++)
                    {
                        record.add(resultat_affaire.getString(i+1));
                    }
                    list.add(record);
                }
                
                request.setAttribute("Liste", list);
                request.getRequestDispatcher("/rechAffaire.jsp").forward(request, response);
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            dbc.close();
        }
    }
    et ta page
    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
    21
    <%
    List<List<String>> list = (List<List<String>>)request.getAttribute("Liste");
    if (list != null)
    {
        Iterator it = list.iterator();
        out.write("<TABLE BORDER=1 width='100%'><TR><TH>id</TH><TH>N°Affaire</TH><TH>N°CTV</TH><TH>N°CCS</TH><TH>N°</TH><TH>Type Voie</TH><TH width='25%'>Nom Voie</TH><TH>CP</TH></TR>");
        while (it.hasNext())
        {
            List<String> record = (List<String>)it.next();
            Iterator it2 = record.iterator();
            out.write("<tr>");
            while (it2.hasNext())
            {
                out.write("<td>" + it2.next() + "</td>");
            }
            out.write("</tr>");
        }
        out.write("</table>");
    }
    %>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #42
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut
    C'est peut être parce que dans ta page JSP tu ne récupère pas la List car dans ta page java tu fait un setAttribute mais tu fais jamais de getAttribute.

  3. #43
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 130
    Points : 33
    Points
    33
    Par défaut
    Effectivement sa marche, ya quelque chose qui s'affiche

  4. #44
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 130
    Points : 33
    Points
    33
    Par défaut
    Mais pour ce qui est de faire en sorte que lorsque je clique sur une ligne de ce tableau, il me redirige pas vers une autre page et passer des attributs. Je peux même pas cliquer dessus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out.write("<tdonclick=\"callDetailFor('" + record.get(0) + "')>" + it2.next() + "</td>");

  5. #45
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ben avec ça c'est normal
    il faut un espace entre td et onclick...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #46
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 130
    Points : 33
    Points
    33
    Par défaut
    Ce que je comprend pas c'est que en mettant le onclick, ma ligne n'est pas rempli entièrement et je ne peux pas encore cliquer desssus

  7. #47
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ça aussi c'est normal, tu ouvres une double-quotte que tu ne refermes pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    out.write("<td onclick=\"callDetailFor('" + record.get(0) + "')\">" + it2.next() + "</td>");
    Tu n'as qu'à regarder le code source de la page html dans ton navigateur...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #48
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut
    Mais le fait de cliquer dessus, cela me redirige pas vers une autre page jsp.
    Car je voudrai lorsque que l'utilisatur clique sur une ligne, cela le redirige vers une autre page JSP en passant a cette page quelque données. Est ce que c'est possible?

  9. #49
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Oui, soit via un formulaire, soit en générant l'url qui va bien.
    Tout se passe dans la méthode javascript appelée.

    Tu utilises 2 profils sur DVP ??? Il y a une raison particulière ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #50
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 130
    Points : 33
    Points
    33
    Par défaut
    Oui en suivant le resultat d'une requete faut envoyer vers différentes pages

  11. #51
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 130
    Points : 33
    Points
    33
    Par défaut
    Vu que j'ai besoin de plusieur données dans l'autre page et que j'envoie juste l'id, j'ai opter pour cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out.write("<td onclick= \"callDetailFor('" + record.get(0) + "')\">"  + it2.next() + "</td>");
    fonction javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    function callDetailFor(id1)
    {
            document.location = "decPonctuel.jsp?rec_id="+id1;
     
    }
    </script>
    vu que j'ai plusieurs données a inserer dans mes champs text ( input text), j'avais pensé a récupérer mes autre valeur par requête SQL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int id_fouille = Integer.parseInt(request.getParameter("rec_id"));
    Connection dbc = DriverManager.getConnection(url,login,password);
    	try {
    		String r_unite;
    		PreparedStatement pstmt_unite = dbc.prepareStatement("select nom_unite from unite, fouille where fouille.id_unite = unite.id_unite AND id_fouille = ?");
    		pstmt_unite.setInt(1, id_fouille);		
    		ResultSet resultat_unite = pstmt_unite.executeQuery();
    		if(resultat_unite.next()) {
    			r_unite = resultat_unite.getString("nom_unite");
    		}
    		dbc.close();
    	}
    et dans le input

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type = "text" id = "unite" name = "unite" size="5" maxlength = "5" readonly value="<%=r_unite%>" />
    Mais cela ne fonctionne pas

  12. #52
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 130
    Points : 33
    Points
    33
    Par défaut
    Tu en pense quoi?
    c'est possible de cette manière?

  13. #53
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    C'est possible...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #54
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 130
    Points : 33
    Points
    33
    Par défaut
    Pourquoi cela ne marche pas alors??

  15. #55
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Je ne suis pas devin, cherche un peu... regarde dans les logs, la console, etc...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #56
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 130
    Points : 33
    Points
    33
    Par défaut
    Il naime pas ce que je met dans la value de mon input.

  17. #57
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 130
    Points : 33
    Points
    33
    Par défaut
    Il me dit en erreur à la ligne de l'input

    r_unite cannot be resolved.

    Pourtant elle est déterminé vu que c'est dans cette variable que je stocke le résultat de ma requête. Je comprend pas pourquoi il me dit cette erreur.

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. [Wamp] Insertion dans une bdd sur laptop
    Par beencss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 08/02/2007, 15h59
  2. [debutant] requete "insert" dans une page jsp
    Par el_bassir dans le forum JDBC
    Réponses: 2
    Dernier message: 31/08/2006, 18h13
  3. [VB6/mysql]:Problème d'insertion dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/06/2006, 10h15
  4. [Conception] Pb d insertion dans une BDD des données d un formulaire
    Par xtiand4 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 02/06/2006, 18h18
  5. [debutant]insertion dans une BDD
    Par EssaiEncore dans le forum ASP
    Réponses: 7
    Dernier message: 10/02/2005, 14h58

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