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

avec Java Discussion :

Servlet : passer un paramètre avec getAttribut (jsp)


Sujet :

avec Java

  1. #1
    Membre averti
    Homme Profil pro
    Chef du projet web
    Inscrit en
    Août 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chef du projet web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 18
    Par défaut Servlet : passer un paramètre avec getAttribut (jsp)
    Bonjour,

    Je cherche à passer une variable de ma servlet "Test" vers ma page bonjour.jsp, sauf que sur la page j'ai un "null"

    Je m'aperçois aussi que sur l'explorateur de mon dossier, j'ai un warring rouge que je ne sais d'ou ça vient (mais je peux afficher une page html sans paramètres sans problème).

    Je vous remercie pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8080/test/bonjour.jsp
    Code jsp : 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
    //bonjour.jsp
     
    <%@ page pageEncoding="UTF-8"%>
    <%@ page import="com.octest.servlets.Test" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
        <p>Bonjour ! JSP</p>
        <p>
            <%
                String variable = (String) request.getAttribute("variable");
                out.println(variable);
               
               
            %>
        </p>
     
    </body>
    </html>

    Code xml : 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
    //web.xml
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <web-app
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
     
     
        <servlet>
            <servlet-name>Test</servlet-name>
            <servlet-class>com.octest.servlets.Test</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>Test</servlet-name>
            <url-pattern>/bonjour</url-pattern>
        </servlet-mapping>
    </web-app>

    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
    //classe Test
     
    package com.octest.servlets;
     
    import java.io.IOException;
    import java.io.PrintWriter;
     
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    /**
     * Servlet implementation class Test
     */
    @WebServlet("/Test")
    public class Test extends HttpServlet {
        private static final long serialVersionUID = 1L;
     
     
        public Test() {
            super();
            // TODO Auto-generated constructor stub
        }
     
     
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            //response.getWriter().append("Served at: ").append(request.getContextPath());
     
            String message = "Au revoir !";
            request.setAttribute("variable", message);
            this.getServletContext().getRequestDispatcher("/WEB-INF/bonjour.jsp").forward(request,response);
        }
     
     
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            //doGet(request, response);
        }
     
    }
    Nom : servlet-jsp.jpg
Affichages : 370
Taille : 56,6 Ko

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    D'après ton web.xml, la servlet répond à l'url /bonjour mais tu appelles bonjour.jsp.
    Donc, si tu appelles directement la page, comme tu n'es pas passé par la servlet, tu récupères NULL sur le request.getAttribute("variable").

    La logique voudrait que tu tapes l'url suivante :

    http://localhost:8080/test/bonjour

    Ceci dit, ta servlet faisant référence à une page bonjour.jsp dans /WEB-INF/ alors qu'elle est à la racine, tu auras également une erreur
    Il faut donc changer la référence dans le getRequestDispatcher("/bonjour.jsp")....
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Chef du projet web
    Inscrit en
    Août 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chef du projet web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 18
    Par défaut
    Oui, effectivement ça marche
    je n'avais pas fait attention à l'arborescence des fichiers
    Merci !

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

Discussions similaires

  1. passer des paramètres entre les jsp et les servlets
    Par philo71 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 12/05/2017, 10h43
  2. [D5] Peut on passer un paramètre avec ShowModal?
    Par MelkInarian dans le forum Delphi
    Réponses: 12
    Dernier message: 01/05/2007, 20h03
  3. Réponses: 5
    Dernier message: 16/11/2006, 07h09
  4. [Tableaux] passer un paramètre avec un popup
    Par lnikolanta dans le forum Langage
    Réponses: 6
    Dernier message: 11/10/2005, 16h36
  5. Réponses: 2
    Dernier message: 12/09/2005, 15h33

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