Partage
  • Partager sur Facebook
  • Partager sur Twitter

Transfert une variable d'une jsp à une autre

Sujet résolu
    24 septembre 2018 à 13:30:02

    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 :

    <%@ 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 :

    <%@ 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 :

    <%@ 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 :

    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 !



    • Partager sur Facebook
    • Partager sur Twitter

    Transfert une variable d'une jsp à une autre

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown