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 :

[jsp][servlet]pb recuperation de parametre


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut [jsp][servlet]pb recuperation de parametre
    Bonjour,

    J'ai un problème incompréhensible :
    - je récupère des valeurs dans ma servlet via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getParameter("toto")
    - après traitement et avant le forward, je remets ces valeurs dans la requete avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("titi", toto)
    pour pouvoir les afficher dans la page suivante
    - dans ma jsp, je veux afficher les valeurs. J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=request.getParameter("titi")%>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=request.getAttribute("titi")%>
    mais rien n'y fait. Il m'affiche la valeur null alors que je suis certaine que la valeur ne l'est pas. Ce que je comprends encore moins, c'est que ça ne m'affiche null que pour une seule valeur ; les autres s'affichent normalement et avec un code "identique".

    J'ai vérifié mon code et je n'ai trouvé aucune variable en double qui pourrait expliquer cela. Je ne comprends vraiment pas. Si quelqu'un a une idée sur le problème, son avis m'intéresse beaucoup lol.

    Un grand merci d'avance
    Alex

  2. #2
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 53
    Par défaut
    j'ai le meme probleme que toi, et je cherche depuis qqes heures une solution au probleme, mais rien n'y fait, ca ne marche pas...

    dsl j'ai pas encore de solution a te proposer

    tu utilises quelle version de tomcat ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    J'utilise la version 5.0.25 mais je ne vois pas le rapport :
    Pourquoi cette question ?

  4. #4
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 53
    Par défaut
    lorsque je développe mon appli sur mon pc, j'utilise tomcat 5.0.19
    tout ce que je fais marche parfaitement

    lorsque je transfère tout mon répertoire sur le serveur de la boite qui tourne avec tomcat 5.0.25, c'est a ce moment la que les pb surviennent, je ne sais pas si ca a un rapport...

  5. #5
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    Ah ouais, c'est bizarre quand même. Mais ce que je ne comprends pas, c'est qu'à certains moments ça marche et à d'autres non avec un code identique.
    J'espère que quelqu'un pourra nous apporter une solution parce que moi aussi c'est pour le boulot.

  6. #6
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    Bonjour,

    J'ai testé et comme je pensais, ça n'a rien à voir avec la version de Tomcat. J'ai épluché tous les forums que j'ai trouvé ainsi que tous les tutoriels et je ne comprends vraiment pas d'où cela peut venir.
    J'ai relu tout mon code et c'est incroyable cette histoire.
    Je suis complètement bloquée, je ne vois pas du tout comment régler ce problème. : : :
    Si je trouve miraculeusement une solution, je vous tiendrais au courant.
    @+
    Alex

  7. #7
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 53
    Par défaut
    la seule solution que j'ai trouvée pour l'instant, c'est de transmettre les parametres dans la session au lieu de les transmettre dans la requete.

    dans la servlet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.setAttribute("toto", toto);
    et dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%= session.getAttribute("toto") %>
    il semble que cela fonctionne correctement ainsi.

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 80
    Par défaut
    Tout d'abord, oublie le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=request.getParameter("titi")%>
    Ca ne permet pas de récupérer l'attribut "Titi"

    Ensuite, si tu dis que d'autres fonctionne, c'est qu'il y a probablement quelque chose de différent que tu fais.
    Est-tu sûr que le = après le <% est adéquate ?

    Est-ce que le code suivant t'affiche "Null !!!" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <% if(request.getAttribute("Titi")==null) 
    out.println("Null !!!"); %>
    Est-ce que tu as fait un forward depuis ta page précédente et non un redirect ?

  9. #9
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 39
    Par défaut
    c'est marrant moi aussi j'ai un problème équivalent ...

  10. #10
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    Bonjour,

    Le code à mettre dans la jsp affiche bien "Null !!!". Mais je ne comprends toujours pas car la valeur que je passe dans la requête ne peut pas être null. Dans ma servlet, j'effectue le traitement seulement si cette valeur n'est pas null et le traitement est bien effectué. Après, je repasse cette valeur dans la requête pour pouvoir la réutiliser dans la jsp suivante et là, elle est apparemment null. C'est dingue !!!
    Je pense qu'en fait l'attribut n'existe pas. Il doit y avoir un problème dans le request.setAttribute(). Je ne vois pas ce que cela peut être sinon.
    Et je fais un forward.

    Merci de ton aide

  11. #11
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 39
    Par défaut
    J'ai essayé avec getAttribute et en testant le résultat et en effet il est null...

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 80
    Par défaut
    Ce serait peut être le passage servlet --> Jsp qui reinitialise le request ?
    Et ca fonctione sous tomcat4 ?

  13. #13
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 39
    Par défaut
    Personnellement je suis sous WSAD 5.0

  14. #14
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    Non, j'ai la même erreur sous tomcat 4.
    En plus, je fais passer deux paramètres et je récupère le premier sans problème et pas le second. Donc la request n'est pas réinitialisée. Et pour les deux paramètres, j'utilise exactement les mêmes instructions :
    request.setAttribute("param1", param1);
    request.setAttribute("param2", param2);
    J'ai essayé d'inverser l'ordre pour voir s'il ne prenait que le premier paramètre mais non. Le problème ne vient pas de là.
    Je ne vois vraiment pas. On dirait qu'il ne veut pas créer le second paramètre. Même si je mets une valeur en dur genre :
    request.setAttribute("param2", "toto");
    quand je le récupère, la valeur est null.

  15. #15
    Membre émérite
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Par défaut
    Tu pourrais nous montrer un peu plus de code parce que la c'est un peu au pifometre.
    Mets un bout de code de la servlet et un bout de code de la jsp

    Tes attributs sont uniquement de type String ou sont-il des objets?

  16. #16
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 39
    Par défaut
    bon je m'incruste avec mon problème on sait jamais

    Donc j'obtiens bien null lorsque j'utilise request alors idArticle a bien une valeur 10 lignes plus haut quand je l'affiche

    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
     
    <%@ page language="java" import="java.util.*" import= "com.webGPI.GPI.web.*"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
     
    <html>
    	<head>
    		<title> Veuillez Choisir vos articles </title>
    	</head>
    	<body>
    		<h1 align="center">Veuillez Choisir vos articles</H1>
     
    		<div align="center">
     
    				Id de l'article:
    					<bean:write name="ChooseForm" property="idArticle" /> <BR/>
    				Marque:
    					<bean:write name="ChooseForm" property="article.marque" /> <BR/>
    				Designation:
    					<bean:write name="ChooseForm" property="article.designation" /> <BR/>
    				Prix unitaire:
    					<bean:write name="ChooseForm" property="article.price" /> <BR/>
     
    				<%
                                            String sarticle = (String)request.getAttribute("idArticle");
                                            int idarticle = 1;
                                            if (request.getAttribute("idArticle") == null)
                                            {
                                                    out.print("champ null");
                                            }
                                    %> <BR />
    				<a href="Choose.do?idArticle=<%= idarticle - 1 %>">Précédent</a>
    				<a href="Choose.do?idArticle=<%= idarticle + 1 %>">Suivant</a>
    		</div>
    	</body>
    </html>

  17. #17
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 80
    Par défaut
    Un but de code ne serait pas de refus, il y a manifestemment quelque chose qui nous échappe.
    Pourrais-tu réduire ton code de manière à obtenir le code le plus court provoquant ton problème, ce serait plus simple.

  18. #18
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    Mes attributs sont uniquement de type String.
    Voilà la fonction que j'utilise dans la servlet pour mettre les attributs dans la requete :

    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
     
    public void recupChamp(HttpServletRequest request, String favoris){
         boolean test = true ;
         int i = 0 ;
         while(test){
              String temp = new String(); 
              temp = request.getParameter("champ"+i);
              if (temp != null && !temp.equals("vide")){
    	temp = temp.replaceAll(";", " - ");
    	temp = temp.substring(0, temp.indexOf("<row>"));
    	request.setAttribute("acteSelec", temp);
    	request.setAttribute("favorisSelect", favoris);
    	test = false ;
            }
            i++ ;
         }
    }
    après l'appel de la fonction, je forward vers ma jsp en passant la request et la response.

    et dans la 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
     
    <tr>
         <td>D&eacute;placer l'acte :</td>
         <td>
              <input type="text" name="acteDepl"
                        value="<%=request.getAttribute("acteSelec")%>">
         </td>
    </tr>
    <tr>
         <td>du favoris :</td>
         <td>
              <input type="text" name="acteDepl"
                        value="<%=request.getAttribute("favorisSelect")%>">
         </td>
    </tr>
    Donc là, je récupère bien le "acteSelec" mais le "favorisSelect" a une valeur null.

  19. #19
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    Bonjour,

    Bon bah ça n'a rien à voir avec la request. J'avais fait une grosse bourde dans la jsp précédente donc ça venait vraiment de mon code.
    Je m'excuse de vous avoir embêté pour ça et vous remercie pour votre aide .

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 200
    Par défaut getValue et putValue
    Bonjour à tous,

    getValue et putValue devraient marcher.
    Au lieu de getAttribue et setAttrivute.
    Je croie que ça dépend de la version du serveur.

    bon courage.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. lien jsp vers servlet avec passage de parametre
    Par cool dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/05/2008, 22h59
  2. jsp/servlet envoi de parametres
    Par lilington dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 14/01/2008, 10h34
  3. Passage de parametres jsp->servlet
    Par jonnyboy dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/04/2007, 14h17
  4. [JSP/Servlet] Outils pour developper?
    Par BenoitM dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/05/2004, 11h03
  5. [JSP][SERVLET] recup donnees form
    Par 74greg dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/09/2003, 10h22

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