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 :

Afficher valeur dans jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut Afficher valeur dans jsp
    Salut,
    Je voudrai afficher un paramètre que j'envoie par une jsp1 à travers un submit vers le bean associé à cette jsp1 (formuaire), l'affichage devrait se faire sur une autre page jsp2 (dans une case d'un tableau), qu'est ce que je dois faire ? Merci.

  2. #2
    Membre éprouvé
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Points : 950
    Points
    950
    Par défaut Afficher valeur dans jsp
    Bonjour,
    Si tu utilise un framwork comme Struts ça se fait facilement, et disons automatiquement. Une classe bean est instancié automatiquement via les paramétrages de config-struts.xml. Si on utilise pas Struts ou framwork équivalent, dans ce cas il faut passer par une servlet controlleur qui va enregistrer les informations dans le bean grace aux méthodes setXX.
    En général ça doit être comme suit :

    - Une page JSP envoie des informations à la servlet
    - La servlet récupère ces valeurs par la méthode doPost ou doGet avec l'appel à la méthode getParameter.

    - La servlet oriente ou enregistre les informations récupérées dans le Bean via les méthodes setXXX, setYYY...

    - La servlet redirige vers une autre JSP2 grâce au Forward(reponse, request)
    - Dans la page JSP2 on lit les infos du bean, tout en déclarant le bean ou l'importer.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut
    Bonjour,
    En effet, je l'utilise pas Struts, je vais essayer avec les servlets.
    Merci !

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    svp j'ai besoin idem à cette reponse pourriez vous me donner un exemple déjà préparé pour mieux comprendre psq j'ai pas compris comment faire ce bean je connai seulement envoyer des données à une servlet mais la suite non plus

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 47
    Points : 43
    Points
    43
    Par défaut
    Voici un exemple très simple :
    La première page jsp poste un formulaire avec les champs suivants :
    (caché) fromPage: avec la valeur : page1
    (input) nom : avec la valeur : Dupond
    (input) prenom : avec la valeur : Samir
    (input) age : avec la valeur : 25
    elle poste à la servlet MyServlet (exemple avec : <FORM METHOD="POST" ACTION="url de la servlet" >)

    MyServlet.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
     
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import javax.servlet.RequestDispatcher;
     
    import java.io.IOException;
    import javax.servlet.ServletException;
     
    import com.personne.*;
     
    public class MyServlet extends HttpServlet {			
    	public void init() {}
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {}
    	public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {				
    		String fromPage= request.getParameter("fromPage");
    		if ( fromPage!= null ){
    			if ( fromPage.equals("page1") )
    				traiterBean(request, response);							
    		}					
    	}
    	private void traiterBean(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {		
    		try{			
    			String nom 	= request.getParameter("nom");
    			String prenom 	= request.getParameter("prenom");
    			int age 	= Integer.parseInt(request.getParameter("age"));
     
    			Personne personne = new Personne(nom, prenom);
    			personne.setAge(age);
    			request.setAttribute("personne", personne);	
    			getServletContext().getRequestDispatcher( "page2.jsp").forward(request,response);														
    		}catch (Exception e) {exception =  new Exception("MyServlet:traiterBean() = Error : "+ e.getClass().getName() + " Message = " + e.getMessage()); }
    	}
     
    }
    on voit bien que la servlet appelle la methode traiterBean une fois qu'elle a reconnue la valeur du fromPage.
    Elle accède ensuite aux valeurs postés par la jsp1 via la méthode getParameter("nom du champs"); cette methode ne retourne que des String, donc à toi de formatter si nécessaire.
    elle charge ensuite le bean Personne via le constructeur et les méthodes disponibles.
    Personne.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
     
    package com.personne;
    public class Personne {
    	private String nom	 = null;
    	private String pernom 	= null;
    	private int age	 	= 0;
     
    	public Personne (String nom, String prenom){
    		this.nom	= nom;
    		this.prenom 	= prenom;
    	}
    	public void setAge(int age){
    		this.age = age;
    	}	
    	public String getNom(){
    		return this.nom;
    	}
    	public String getPrenom(){
    		return this.prenom;
    	}
    	public int getAge(){
    		return this.age;
    	}	
    }
    Une fois fini, elle met l'objet personne dans l'objet request (peut le mettre dans session si besoin).
    et appelle la page jsp2 en lui envoyant les deux objets request et response.
    Reste à la page jsp2 de récupérer l'objet personne de l'objet request et de l'afficher comme ainsi :
    Page2.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
    33
    34
    35
    36
    37
    38
    39
     
    <%@page 
    import="com.personne.*,
    java.util.Vector"
    %>
     
    <%
            Personne personne                       = (Personne) request.getAttribute("personne");
    %>
    <html>
    	<head>
    	<script type="text/javascript" src="js/swfobject.js"></script>
    		<title>R2O - client</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
     
    <body >
     
      <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td> </td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>
          la personne saisie dans la page jsp1 est <br> nom : <%= personne.getNom() %> <br> prenom : <%= personne.getPrenom() %><br> age : <%= personne.getAge() %>
     
            </td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
      </table>
    </body>
    </html>
    voilà, j'espère que ça répond à ta question.
    vérifie le code, je l'ai tapé sans le compiler et encore moi exécuter !

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut
    Bonjour,
    J'ai testé le code, mais ça ne marche pas, j'ai l'erreur suivante au niveau de ma deuxième page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "jsp4.jsp" : Erreur No : 300 : classe Personne introuvable  dans classe jsp4_0002ejsp_jsp en ligne 2
    et au niveau de la servlet3 j'ai le message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Servlet3.java" : impossible de résoudre le symbole : variable exception dans classe avril09.Servlet3 en ligne 38, colonne 41
    Le code de la première 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
     
    <%@ page errorPage="jsp3_error.jsp" %>
    <html>
    <head>
    <title>
    jsp3
    </title>
    </head>
    <jsp:useBean id="jsp3BeanId" scope="session" class="avril09.Jsp3Bean" />
    <jsp:setProperty name="jsp3BeanId" property="*" />
    <body bgcolor="#ffffff">
    <h1>
    JSP JBuilder généré
    </h1>
    <form name="formulaire" actopn="Servlet3" method="post">
     <input type="hidden" name="fromPage"><br>
     <input type="text" name="nom"><br>
    <input type="text" name="prenom"><br>
    <input type="text" name="age"><br>
    <br><br>
    <input type="submit" name="Submit" value="Soumettre">
    <input type="reset" value="Réinitialiser">
    </form>
    </body>
    </html>
    le code de la classe Personne:
    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
     
    package avril09;
     
    /**
     * <p>Titre : </p>
     * <p>Description : </p>
     * <p>Copyright : Copyright (c) 2009</p>
     * <p>Société : </p>
     * @author non attribuable
     * @version 1.0
     */
     
    public class Personne {
            private String nom	 = null;
            private String prenom 	= null;
            private int age	 	= 0;
     
            public Personne (String nom, String prenom){
                    this.nom	= nom;
                    this.prenom 	= prenom;
            }
            public void setAge(int age){
                    this.age = age;
            }
            public String getNom(){
                    return this.nom;
            }
            public String getPrenom(){
                    return this.prenom;
            }
            public int getAge(){
                    return this.age;
            }
    }
    le code de la deuxième page 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
     
    <%@ page errorPage="jsp4_error.jsp, java.util.Vector,avril09.Personne" %>
    <%Personne personne =  request.getAttribute("personne");%>
    <html>
    <head>
    <script type="text/javascript" src="js/swfobject.js"></script>
    <title>R2O - client</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
    <body >
    <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td> </td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>
          la personne saisie dans la page jsp1 est <br> nom : <%= personne.getNom() %> <br> prenom : <%= personne.getPrenom() %><br> age : <%= personne.getAge() %>
            </td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
      </table>
    </body>
    </html>
    Le code de la servlet:
    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
     
    package avril09;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import javax.servlet.RequestDispatcher;
     
    import java.io.IOException;
    import javax.servlet.ServletException;
     
     
     
    public class Servlet3 extends HttpServlet {
            public void init() {}
            public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {}
            public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
                    String fromPage= request.getParameter("fromPage");
                    if ( fromPage!= null ){
                            if ( fromPage.equals("jsp3.jsp") )
                                    traiterBean(request, response);
                    }
            }
            private void traiterBean(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
                    try{
                            String nom 	= request.getParameter("nom");
                            String prenom 	= request.getParameter("prenom");
                            int age 	= Integer.parseInt(request.getParameter("age"));
     
                            Personne personne = new Personne(nom, prenom);
                            personne.setAge(age);
                            request.setAttribute("personne", personne);
                            getServletContext().getRequestDispatcher( "jsp4.jsp").forward(request,response);
                    } catch (Exception e) { exception =  new Exception("Servlet3:traiterBean() = Error : "+ e.getClass().getName() + " Message = " + e.getMessage());
                    }
            }
    }
    Avez vous une solution à me proposer?
    Merci.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/04/2010, 11h27
  2. afficher svg dans jsp sans fichier .svg
    Par jenniferL dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 18/08/2009, 12h32
  3. [AC-2003] Etat-Afficher valeur dans un control indéxé
    Par Maxym63 dans le forum IHM
    Réponses: 3
    Dernier message: 30/04/2009, 14h24
  4. afficher url dans jsp
    Par rose_des_sables dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 24/04/2007, 05h28
  5. [struts] Afficher image dans JSP a partir d'un byte[]
    Par igloof dans le forum Struts 1
    Réponses: 1
    Dernier message: 16/05/2006, 12h11

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