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 :

Passer un attribut ou parametre d'une servlet vers jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Passer un attribut ou parametre d'une servlet vers jsp
    Config: Tomcat 5.5 JSTL,MySQL 5.1, Eclipse europa 3.3

    C'est surement très simple mais lorsqu'il y a bcp de possibilité je mélange les pinceaux.

    Je veux par exemple d'appeller ma page index.jsp entrer le utilisateur et mot de passe Faire connexion ...la jsp se dirige vers un servlet qui se connecte à la base de donné vérifie le nécessaire et soit renvois à la index page en affichant un message comme quoi il a une erreur et il faut re saisir les données soit autre page qui pour l'instant ne m'intéresse pas.

    Dans la JSP j'ai crée la form adaptée.

    et puis dans le body je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <c:set var="test" value="" scope="session" />
    <c:out value="${test}"/>
    Pour préparer la variable dans laquelle je vai pouvoir mettre le message.

    Donc côté servlet j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    .....
    request.getSession().setAttribute("test", "monMessage");
    ....
    getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
    Et hélas pas de monMessage dans la page index.jsp.

    Est-ce correcte cela? Sinon avez-vous des idée pour ou comment le faire?

  2. #2
    Membre averti Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Points : 300
    Points
    300
    Par défaut
    Dans ta JSP, tu écris le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:set var="test" value="" scope="session" />
    <c:out value="${test}"/>
    Autrement dit,
    1. tu définis une variable "test", dans le scope session, dont la valeur est ""
    2. tu affiches la variable "test" (dont la valeur est toujours "")

    Essaie de remplacer les deux instructions ci-dessus par l'instruction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:out value="${sessionScope.test}"/>
    A priori, le code de ta servlet a l'air correct.
    Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.
    Confucius

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Je n'ai pas pu répondre plus tôt (boulot oblige..)

    Le code est correct il affiche bien ce que je lui demande mais arrive pas passer la valeur depuis la servlet. C'est à tire je démarre ma sevlet dans le navigateur web et c'est cette dernière qui appelle la page index.jsp tout en passant une nouvelle valeur à l'attribut test en occurrence "monMessage".

    c'est le faite de passer des paramètres d'une servlet vers une jsp. La jsp contient des valeurs qui normalement n'affiches rien mais après l'appelle de la jsp via la sevlet ces valeurs changent et la jsp les affiche.

    Donc peut -être je n'est pas encore compris bien le principe de communication dans les deux sens. Si quelqu'un veux bien me donner un simple exemple, je serais ravi.

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    aJavaDeveloper a raison.

    Si, dans la servlet, tu mets la chaîne de caractères "monMessage" dans le scope session sous le nom test via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession().setAttribute("test", "monMessage");
    Pour l'afficher dans la jsp, il suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:out value="${test}"/>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:out value="${sessionScope.test}"/>
    sans coder de tag c:set.
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Géniale !!!

    Donc je n'ai pas besoin de déclarer une variable dans la jsp. Trop bien je commence à comprendre mieux J2EE.

    Merci

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

Discussions similaires

  1. Récupération d'une chaine de parametre dans une Servlet
    Par jonnyboy dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 08/06/2007, 16h07
  2. [C#] Passer des contrôles comme parametre dans une fonction
    Par sara21 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/09/2006, 13h05
  3. Passer un String en parametre a une "function"
    Par ze veritable farf dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 28/08/2006, 12h26
  4. Passer un contrôle en paramètre d'une fonction
    Par Kinian dans le forum Access
    Réponses: 6
    Dernier message: 15/05/2006, 11h15
  5. Passer un tableau en parametre dans une fonction js
    Par hellmaster78 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/06/2005, 14h35

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