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 :

jsp timer envois de donnee


Sujet :

Servlets/JSP Java

  1. #1
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut jsp timer envois de donnee
    salut tout le monde!

    je debute avec java web et j'aimerai avoir si possible un bout de code pour pouvoir gerer le temps dans ma jsp.en faite voici ce que je fais: J'ai un formulaire a remplir (juste des check a cocher) et j'aimerai par exemple donner 1 mins pour cocher les reponses apres cette minute j'affiche par exemple un msgbox et j'envois les reponse du formulaire (meme incomplet) vers une servlet. les deux problemes quej'ai c'est
    1- comment gererle timer pour que apres Xmin il fasse quelquechose
    2-comment envoyer un formulaire sans que l'utilisateur clic sur le boutton envoyer. Merci pour votre aide a tous.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Par question :

    1) tu peux utiliser la fonction javascript "setTimeout"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setTimeout( "methodeLancee", 1000)
    2) tu peux par exemple faire (en javascript)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms[0].submit();
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    genial de repondre si vite en plus je pense que c'est tres satisfaisant mais voila. mois je suis plus C++ donc web et autre je suis un peu perdu. pour la fonction timer je la place comment pour que juste juste en ouvrant la page le timer se mette en route? car generalement je mets mes fonction avec des <td> genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <table>
       <tr>
        <td onmouseover="mafonction();">
    donc j'ai ma fonction qui se lance quand mon pointeur est sur la cellule. mais la comment faire pour qu'un fonction se lance au demarage ?

    sinon si j'ai bien compris ceci est il correct:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <head>
      <script>
            function fin()
            {
              document.forms[0].submit();
            }
      </script>
    </head>
     
    <boby>
          un moyen de lancer automaiquement le timer
             setTimeout( "methodeLancee", 1000)
    </body>
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Alors, tu peux faire de différentes façons :

    - la méthode "propre" (mais lourde pour un cas simple)
    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
    <html>
    <head>
    <script>
    function pageLoaded()
    {
       setTimeout("submitForm()", 1000); // <- c'est en millisecondes...
    }
    
    function submitForm()
    {
       document.forms[0].submit();
    }
    </script>
    ...
    </head>
    <body onload="pageLoaded()">
    <form action="...">
    ...
    </form>
    </body>
    </html>
    - ou plus simple
    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
     
    <html>
    <head>
    ...
    </head>
    <body>
    <form action="...">
    ...
    </form>
     
    <script>
    setTimeout("document.forms[0].submit()", 1000);
    </script>
     
    </body>
    </html>
    A toi de voir...
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    bon je test des que je rentre chez moi et je vous tiens au courant quelque soit le resultat.
    milles merci
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  6. #6
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    le test me donne pour resultat que le premier avec pageLoaded ne fait absolument rien mais le second marche bien
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Peux-tu montrer ton code correspondant à l'essai 1, ça fonctionne très bien, j'ai testé ceci et c'est ok :
    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
     
    <html>
    <head>
    <script>
    function pageLoaded()
    {
       setTimeout("submitForm()", 10000);
    }
     
    function submitForm()
    {
       document.forms[0].submit();
    }
    </script>
    </head>
     
    <body onload="pageLoaded()">
    <form action="javascript:alert('coucou')">
    Le TEST commence
    </form>
    </body>
    </html>
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    desole pour le derangement j'ai pas reflechi avant de poser ma question j'avais oublier le <body onload=""> normale que ca passe pas.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Pas de problème...
    Si c'est ok pour toi, n'oublie pas

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    j'enprofite pour demander une autre aide: c'est au sujet de l'envois du formulaire de la jsp vers une servlet:
    question on ete recu depuis une autre servlet les ayant lu dans une database. voici comment j'affiche les questions dans la jsp:
    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
     
    <form action="Correction" method="post">
      <% for(int i=0;i<totalquestion;i++) {for(int j=0;j<5;j++) { %>
           <% User=u[i][j];  //User est String local a la jsp u est venant d'une servlet
            if(j==0){%>
                 <%= ""+(i+1) %> /  //j'affiche la question
            <%} %>
         <% if(j==1){%>
              A :<input type="radio" value="a" checked name=""+i >
         <%} %>
         <% if(j==2){%>
               B :<input type="radio" value="b" checked name=""+i>
           <%} %>
         <% if(j==3){%>
              C :<input type="radio" value="c" checked name=""+i >
           <%} %>
         <% if(j==4){%>
          D :<input type="radio" value="d" checked name=""+i >
         <%} %>
     
         <%= User %>&nbsp &nbsp //j'affiche la reponse   
         <%if(j==0){%>
         <br>
         <%} %>
     
         <%}%>
         <hr>
         <%} %>
     
    <% request.setAttribut(""+totalquestion); %>
     
    <form>

    voici comment je recois dans la servlet:
    dans la methode post:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
         String  q = (string) request.getAttribut(nbquestion);
         int n = Integerparsint(q)
         String reponse[]=new String[n];
     
        for(int i=0;i<n<i++)
            reponse[i] =  request.getAttribut(""+i);
     
        System.out.println(reponse[i]);
        System.out.println("total de question = "+n);
    lors de l'affichage des reponses j'obtient
    null
    null
    et pour le nombre de question egalement. c'est comme si le formulaire n'avais rien envoyer. avez vous une idee de la cause?
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Il faudrait voir la page interprétée...
    Il y a déjà ceci qui est faux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    AU NIVEAU PAGE
    
    <% if (i==1) { %>
    <input type="radio" value="a" checked name=""+i >  <- je suppose que tu voulais faire : name="<%=i%>"
    <% } %>
    ...
    <% request.setAttribut(""+totalquestion); %>
    
    AU NIVEAU DE LA SERVLET
    
    request.getParameter(...) pas request.getAttribute(...)
    Bref, peux-tu :
    - afficher la page
    - accéder au source
    - le copier
    - le montrer
    - montrer également le source de la page JSP en entier
    - montrer (ou expliquer) la structure de la matrice "u" ou de l'objet User

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    la matrice U recois en une ligne la question(u[0][0]) et les reponse u[0][2...4]
    et ceux sur ligne car c'est tout le comptenu de ma db car je suis encore en test.
    User est un string qui en faitre ne sert a rien je vais donc l'effacer et ecrire directement dans le html.
    enfin au debut User est utiliser pour afficher le nom de l'utilisateur qui c'est connecte a la db. ps ya du chinois donc certain caractere n'apparaitront peut etre pas chez vous

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     
    <%
       String Ident = (String)request.getAttribute("ident");
       String User = (String)request.getAttribute("user");
       String u[][] = (String[][])request.getAttribute("tbl");
       String q = (String)request.getAttribute("total"); 
       int totalquestion = Integer.parseInt(q);
       
       %>
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>天津大学online exam主要页</title>
    <script type="text/javascript">
      function hide(divID)
      { 
            document.getElementById(divID).style.display= "none";
            setTimeout("show('question')",500);
      }
      
      function show(divID)
      {
         document.getElementById(divID).style.display= "inline";
      }
       </script>
     
    </head>
     
     
    <body>
    <p align="right">welcome <%= User %></p>
    <hr>
    <table width="100%">
      <tr>
       <td valign="top" width="10%" bgcolor="#9999AF" >
     
       </td>
       <td valign="top">
       <center>
       <div ID="note" style="display:inline">
            <center>
               考试的时候不可以用书。<br>
               一共有<%= q %>个问题和两个小时的时间
               <H1>
              <input type="button" value="开始" style="background-color:#9999AF; cursor:pointer; border:2px;"
              onclick="hide('note');"> 
               </H1>
            </center>
       </div>
       <div ID="question" style="display:none">
     
       <form action="Score" method="post">
     
       <% for(int i=0;i<totalquestion;i++) {for(int j=0;j<5;j++) { %>
         <% User=u[i][j]; if(j==0){%>
         <%= ""+(i+1) %> /
         <%} %>
         <% if(j==1){%>
          A :<input type="radio" value="a" checked name=<%=i %>">
         <%} %>
         <% if(j==2){%>
          B :<input type="radio" value="b" checked name=<%=i %>">
         <%} %><% if(j==3){%>
          C :<input type="radio" value="c" checked name=<%=i %>">
         <%} %><% if(j==4){%>
          D :<input type="radio" value="d" checked name=<%=i %>">
         <%} %>
     
         <%= User %>&nbsp &nbsp   
         <%if(j==0){%>
         <br>
         <%} %>
     
         <%}%>
         <hr>
         <%} %>
     
         <input type="submit" value="完成">
     
         </form>
     
       </div>  
       </center>
       </td>
       <td valign="top" width="10%" bgcolor="#9999AF"><br><br><br><br><br><br><br><br><br>
         <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
       </td>
      </tr>
    </table>
     
    </body>
    </html>
    comme je n'arrive pas a envoyer le nombre maximum de question je l'ai bloque a 5 : for(int i=0;i<5
    code complet de la servlet Score:
    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
     
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		String res[] = new String[5];
    		for(int i=0;i<5;i++)
    			res[i] = (String)request.getAttribute(""+i);
    		for(int j=0;j<5;j++)
    			System.out.println(j+"-"+res[j]);
    	}  	
     
    	/* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
     
     
    		doGet(request,response);
     
    	}
    voici a quoi ressemble la page jsp quand elle est forwarde depuis une servlet:
    [
    Images attachées Images attachées  
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    L'image n'est pas passée, il faut l'attacher en cliquant sur le bouton "Gérer les pièces jointes"

    Ton tableau correspond à une liste de question avec, par question, la liste des réponses.
    Donc, en t[0][0] tu as le libellé de la question 1 et de t[0][1] à t[0][4] tu as les réponses possibles...

    As-tu toujours le même nombre de réponses dans ton QCM ?
    Si oui, tu pourrais simplifier ta page comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <%
    for ( i = 0; i < t.length; i++ )
    { %>
     
       <%=t[i][0]%>
       <br>
       A : <input type="radio" value="a" name="<%=i%>"/> <%=t[i][1]%> <br>
       B : <input type="radio" value="b" name="<%=i%>"/> <%=t[i][2]%> <br> 
       C : <input type="radio" value="c" name="<%=i%>"/> <%=t[i][3]%> <br> 
       D : <input type="radio" value="d" name="<%=i%>"/> <%=t[i][4]%> <br>
     
    <% } %>
    côté servlet, tu récupères comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String reponse = null;
    for (int i = 0; i < nbQuestions; i++)    // nbQuestion doit être initialisé, bien sûr, c'est pour l'exemple
    {
       reponse = request.getParameter(""+i);
    }
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    je crois avoir fait ce qu'il faut pour afficher l'image mais si ca passe pas je sais pas je peux toujours vous l'envoye en prive mais de tout facon mille merci car je peux lire les reponses formulaire dans la servlet. le seul probleme c'est que je n'arrive toujours pas a envoyer le total de question j'ai essaye comme ceci:

    au niveau jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form action="Score" method="post">
       <% request.setAttribute("total",q); %>
       <%
    for (int i = 0; i < u.length; i++ )
    { %>
    avec q etant un string comportant le nombre max de questions. sinon pour repondre a la question si le nombre de reponse est variable c'est oui mais pour le moment c'est invariable mais dans le futur ca le sera toute fois le code que vous donnez est plus claire merci


    et au niveau servlet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		String a = (String)request.getParameter("total");
    		System.out.println(a);
    le System.out.println donne Null donc la servlet n'a rien recu. je crois qu'apres ca je pourrai me debrouiller pourle reste.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  15. #15
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    en fait je n'ai pas vraiment besoin d'envoyer le nombre de question car je vais me reconnecter a la base de donner pour verifier les reponses donc je saurai par la meme occasion le nombre de reponse car il me suffira de collecter les reponses depuis la db avant d'alloue l'espace pour le vecteur qui prendra les reponses depuis la jsp c'est juste que chaque fois que j'essais d'envoyer une donne n'appartenent pas a un formulaire depuis une jsp vers une servlet la variable a l'arrive est toujours null. j'ai juste envie de comprendre car dans mon cas present je peux eviter le probleme comme suis:
    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
     
        int total = database.liretotalquestion();
        string reponsecorrect[] =  new String [total];
     
        reponsecorrect=database.lirereponsecorrect("table_questionnaire");
        String reponse = null;   
        int k = 0;
     
        for( int i =0;i<total;i++)
        {
           if ( (reponse = request.getParameter(""+i)).equals(reponsecorrect[i]))
              k++;
        }
           k=k*100/total;   //pourcentage de reponses juste
     
        database.setNoteObtenue(k);
    ou database est ma class se connectant a la basede donnee pour le qcm.
    donc j'ai pas vraiment besoin de transmettre le total depuis la jsp mais ca me demange de ne pas savoir pourquoi chaque fois que j'en vois une valeur ca ne passe pas.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  16. #16
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    tout compte fait ca devient important de pourvoir envoyer une variable n'appartenant pas a un formulaire depuis une jsp vers une servlet car en regardant dans le code jsp je resoit une valeur du non de "ident" cette valeur de dois l'envoyer vers la nouvelle servlet qui s'occupe du resultat cette valeur correspond a l'identifiant de l'utilisateur et est utilise pour enregistrer la note obtenu dans la db. mais quand je fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       request.setattribut("ident",Ident);
    dans la servlet j'obtient toujours null.

    je me demande comment faire pour envoyer des valeurs depuis une page jsp meme ceci ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       <form action="Score?ident=<%=Ident%>">
    ou Score est le nom de la servlet qui controle le resultat et met la note dans la db.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  17. #17
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    En attendant une reponse j'utilise une methode pas tres propres mais qui marche:
    j'ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" name="<%= ma_variable%>" >
    que je cache a l'utilisateur et le tour est joue. mais ca me derange que request.setAtttribut("",""); ne passe pas je jsp a Servlet.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Et bien il suffirait de rajouter un champ caché à ton formulaire, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form action="...">
    <input type="hidden" name="nbQuestions" value="<%=t.length%>" />
    ...
    </form>
    (d'après l'exemple que je t'avais donné)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Envoi de données via form ?
    Par loady dans le forum PHP & Base de données
    Réponses: 63
    Dernier message: 19/07/2006, 09h28
  2. Réponses: 5
    Dernier message: 05/03/2006, 13h21
  3. [Sécurité] Confirmation d'envoie des données
    Par ghyosmik dans le forum Langage
    Réponses: 7
    Dernier message: 21/11/2005, 14h05
  4. Clavier et envoie de données sans frappe clavier
    Par Alexandre T dans le forum Administration système
    Réponses: 4
    Dernier message: 07/05/2005, 17h05
  5. [VB6] [Winsock] Envoi de données
    Par CYFL dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 25/12/2002, 17h49

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