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 :

Valeur par défaut <input type="text"> et Cookie


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Windev
    Inscrit en
    Janvier 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Janvier 2013
    Messages : 27
    Points : 24
    Points
    24
    Par défaut Valeur par défaut <input type="text"> et Cookie
    Bonjour à tous,

    je suis entrain de réaliser un petit site web, et je tente tant bien que mal d'utiliser les cookies.

    Là, je réalise la page de connexion qui permet de se connecter en entrant son nom et son prénom dans des balise <input type="text"> dans une page JSP.
    J'ai réussis à faire en sorte de créer des Cookies de cette façon :


    connexion.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Cookie prenom = new Cookie("prenom",request.getParameter("prenom"));
          Cookie nom = new Cookie("nom",request.getParameter("nom"));
     
          // Set expiry date after 24 Hrs for both the cookies.
          prenom.setMaxAge(60*60*24); 
          nom.setMaxAge(60*60*24); 
     
          // Add both the cookies in the response header.
          response.addCookie( prenom );
          response.addCookie( nom );
    Ce que j'aimerais faire maintenant, c'est récupérer le contenu de ces cookies (s'ils existent), et le définir comme valeur par défaut dans les balise <input type="text">


    pageConnexion.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Page de connexion
     
                    <form name="cnx" action="connexion.jsp">
                        Nom <input type="text" name="nom" value="" value="" size="50"/>
     
                        Prenom<input type="text" name="prenom" value="" size="50"/>
     
                        <input type="submit" value="VALIDER" name="ok"/>
                    </form>

    Seulement, je vois pas trop comment faire...


    Je possède un servlet GetCookie qui affiche mes cookie sur le web si je tape "http://localhost:8080/MonProjet/GetCookie" avec leur valeur et leur contenu, mais comment utiliser ça directement dans la balise <input type="text"> ?

    Voici le code de GetCookie.java
    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
     
    package Servlets;
     
    import java.io.IOException;
    import java.io.PrintWriter;
     
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    @WebServlet("/cookie/GetCookie")
    public class GetCookie extends HttpServlet {
     
     
     @Override
     public void doGet(HttpServletRequest request,
                        HttpServletResponse response)
                throws ServletException, IOException
      {
          Cookie cookie = null;
          Cookie[] cookies = null;
          // Get an array of Cookies associated with this domain
          cookies = request.getCookies();
     
    	  // Set response content type
          response.setContentType("text/html");
     
          PrintWriter out = response.getWriter();
          String title = "Reading Cookies Example";
          String docType =
          "<!doctype html public \"-//w3c//dtd html 4.0 " +
          "transitional//en\">\n";
          out.println(docType +
                    "<html>\n" +
                    "<head><title>" + title + "</title></head>\n" +
                    "<body bgcolor=\"#f0f0f0\">\n" );
          if( cookies != null ){
             out.println("<h2> Found Cookies Name and Value</h2>");
             for (int i = 0; i < cookies.length; i++){
                cookie = cookies[i];
                out.print("Nom : " + cookie.getName( ) + ",  ");
                out.print("Valeur: " + cookie.getValue( )+" <br/>");
             }
          }else{
              out.println(
                "<h2>No cookies founds</h2>");
          }
          out.println("</body>");
          out.println("</html>");
       }
     
    }

    Merci d'avance

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Windev
    Inscrit en
    Janvier 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Janvier 2013
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    Bon, j'ai finit par trouver.

    Pour ceux que ça pourrait intéresser, ma solution est la suivante :

    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
     
    <% 
       Cookie[] cookies = null;
       // Get an array of Cookies associated with this domain
       cookies = request.getCookies();
       String stringNom = new String("");
       String stringPrenom = new String("");
                        
       for(int i =0;i<cookies.length;i++)
       {
                            
           if(cookies[i].getName().contains("nom")&&!(cookies[i].getName().contains("prenom")))
           {     
                  stringNom = cookies[i].getValue();    
           }
                            
           if(cookies[i].getName().contains("prenom"))
           {     
                 stringPrenom = cookies[i].getValue(); 
           }
       }
       request.setAttribute("prenom", stringPrenom);
       request.setAttribute("nom", stringNom);
    %> 
     
     
     
    Page de connexion
    <form name="cnx" action="connexion.jsp">
           Nom <input type='text' name='nom' value='${nom}' size='50'/>
     
           Prenom<input type='text' name='prenom' value='${prenom}' size='50'/>
     
    <input type="submit" value="  VALIDER" name="ok"/>
    </form>

    Je récupère tous mes cookies, je vérifie si ceux que je recherche existe (nom et prenom), si oui je place leur contenu dans des variable String (le tout entre balise <% %>)

    De retour au HTML, dans mes balise <input type='text'>, je met value='${nom'} pour le champs de texte du nom, et value='${prenom}' pour le champs de texte du prénom.
    J'ai moyennement compris pourquoi, mais je dois faire "request.setAttribute("blabla",variable); pour que ça fonctionne. J'en déduis que value='${blabla}' n'appelle pas la variable String créée entre balise java, mais bien un attribut placé à la requête courante via le 1er argument de .setAttribute().

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

Discussions similaires

  1. Comment récupérer la valeur par défaut d'un type ?
    Par Jérôme Lambert dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 27/02/2007, 11h30
  2. valeur par défaut d'une zone de texte
    Par remi59 dans le forum IHM
    Réponses: 2
    Dernier message: 08/02/2007, 13h01
  3. valeur par défaut dans input text
    Par gforce dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/10/2006, 15h31
  4. [MySQL] Valeur par défaut d'un type ENUM
    Par aliasjcdenton dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/10/2004, 21h44

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