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

  1. #1
    Futur Membre du Club
    Transférer une variable d'une jsp à une autre via une servlet
    Salut tout le monde,

    Etant novice sur le J2E, je fais mes premiers pas en faisant une app permettant de renseigner des coordonées via un formulaire, puis de pouvoir cliquer sur le bouton consultation qui va afficher les coordonées.

    Donc la jsp du fomulaire est inscription.jsp et contient :

    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
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Inscription</title>
    </head>
    <body>
            <form method="get" action="fininscription.jsp">
     
                <label for="nom">Nom : </label>
     
                <input type="text" name="nom" id="nom" />
    			<br>
    			</br>
    			<label for="prenom">Prenom : </label>
     
                <input type="text" name="prenom" id="prenom" />
    			<br>
    			</br>
    			<label for="adresse">Adresse : </label>
     
                <input type="text" name="adresse" id="adresse" />
    			<br>
    			</br>
    			<label for="telephone">Telephone : </label>
     
                <input type="text" name="telephone" id="telephone" />
    			<br>
    			</br>
                <input type="submit" value="Inscrire" />
     
            </form>
     
    <% session.setAttribute("nom", "nom");
    session.setAttribute("prenom", "prenom");
    session.setAttribute("adresse", "adresse");
    session.setAttribute("telephone", "telephone");
    %>        
        </body>
     
    </html>


    Cela renvoie vers la page fininscription.jsp, qui affiche un message en fonction de si vous avez tout renseigné ou pas :

    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
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <% session.getAttribute("nom");
    session.getAttribute("prenom");
    session.getAttribute("adresse");
    session.getAttribute("telephone");
    String nom  = request.getParameter("nom");
    String prenom  = request.getParameter("prenom");
    String adresse  = request.getParameter("adresse");
    String telephone  = request.getParameter("telephone");
    %>
    <c:choose>
        <c:when test="${ empty param.nom }">Veuillez renseigner votre nom !</c:when>
     
        <c:when test="${ empty param.prenom }">Veuillez renseigner votre prenom !</c:when>
     
        <c:when test="${ empty param.adresse }">Veuillez renseigner votre adresse !</c:when>
     
        <c:when test="${ empty param.telephone }">Veuillez renseigner votre telephone !</c:when>
     
        <c:otherwise>Inscription validee !</c:otherwise>
     
    </c:choose>
     
    <input type="button" onClick="document.location.href = 'inscription.jsp'" value="Reinscrire une personne">
    <input type="button" onClick="document.location.href = 'consultation.jsp'" value="Consulter la liste des personnes">
    </body>
    </html>



    Si l'on clique sur le bouton "Consulter la liste des personnes", on arrive sur la page Consultation.jsp, qui contient :

    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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Consultation</title>
    </head>
    <body>
    <% 
    request.getAttribute("nom");
    request.getAttribute("prenom");
    request.getAttribute("adresse");
    request.getAttribute("telephone");
    %>
    <p><c:out value='Bonjour, vous vous appelez ${prenom} ${nom}, vous habitez ${adresse} et votre numero de telephone est le ${telephone}' /></p>
     
    <input type="button" onClick="document.location.href = 'index.jsp'" value="Retour à l'accueil">
    <input type="button" onClick="document.location.href = 'inscription.jsp'" value="Reinscrire une personne">
    </body>
    </html>


    Il me semble qu'il faut un servlet pour transférer les variables, j'en ai crée une mais je ne sais pas si elle est bien paramétrée, et, n'y comprenant pas grand chose, je ne sais pas s'il en faut qu'une pour tout l'appli à ce moment ou plusieurs pour les différentes pages... Voici l'unique servlet actuelle :

    Code Java :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
    import java.io.IOException;
     
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    @WebServlet(
        name = "HelloAppEngine",
        urlPatterns = {"/inscription.jsp"}
    )
    public class HelloAppEngine extends HttpServlet {
     
      /**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
     
    @Override
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		this.getServletContext().getRequestDispatcher( "inscription.jsp" ).forward( request, response );
     
    		String nom = "";
    		request.setAttribute("nom", nom);
    		request.getRequestDispatcher("/consultation.jsp").forward(request, response);
     
    		String prenom = "";
    		request.setAttribute("prenom", prenom);
    		request.getRequestDispatcher("/consultation.jsp").forward(request, response);
     
    		String adresse = "";
    		request.setAttribute("adresse", adresse);
    		request.getRequestDispatcher("/consultation.jsp").forward(request, response);
     
    		String telephone = "";
    		request.setAttribute("telephone", telephone);
    		request.getRequestDispatcher("/consultation.jsp").forward(request, response);
      }
     
     
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
     
      }
      }


    Y aurait t'il une âme charitable pour m'aider svp ? Merci beaucoup d'avance je bute sur le problème et je désespère !

  2. #2
    Futur Membre du Club
    Résolution du problème trouvé par moi-meme !

###raw>template_hook.ano_emploi###