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 :

[Struts] request dans classes java


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut [Struts] request dans classes java
    hello,

    dans les pages jsp pour obtenir des paramètre de scope request je fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% request.getParameter ("paramètre") %>
    je me demande comment faire pour récupérer ces paramètres dans une classe java. j'ai importé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.servlet.http.HttpServletRequest;
    . Mais je ne peux pas seulement créér un tel objet, car il sera vide,... comment avoir une telle variable request ?

    ma classe java est en fait un javabean que j'intègre dans une librairie de tags.

  2. #2
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    request.getParameter est du code java.
    javax.servlet.http.HttpServletRequest est une classe java. Les méthodes s'appliquant à cet objet peuvent donc tout à fait être utilisées en java. Cependant, il faut etre en point d'entrée de la requete HTTP pour pouvoir recupérer cet objet.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    yep, et c'est bien ça ma question. Dans un servlet on reçoit en paramètre un objet request, dans les class action aussi. Mais dans une classe que je crée, comment faire pour passer ce paramètre request ou le récupérer ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    comme je n'arrive pas à lire le paramètre j'ai essayé dans la 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
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/queries.tld" prefix="query" %>
     
    <H1>Transactions of an application code</H1>
     
    <html:form action="/TransApp" method ="post">
    	Please choose the application code 
    	<html:select property="categorie" size="1">
    		<html:options name="formTest" property="code" />
    	</html:select>
    	<html:submit>Go</html:submit>
    </html:form>
     
    <%=request.getParameter("categorie") %>
    <b><query:table name="transApp" appCode=<%= request.getParameter("categorie") %> /></b>
    ce qui est étrange c'est que request.getParameter ("categorie") me retourne une valeur, mais que quand j'insère le scriplet dans le tag query:table j'obtient l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jsp translate : attribute categorie has no value

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    ok j'ai compris, c'est sans doute car la première fois ce paramètre est à null,...

    sinon à part ça je sais toujours pas comment lire les request d'une classe, quelqu'un sait m'aider ?

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par mlequim
    ok j'ai compris, c'est sans doute car la première fois ce paramètre est à null,...

    sinon à part ça je sais toujours pas comment lire les request d'une classe, quelqu'un sait m'aider ?
    tu as parlé d'action! t'utilises struts????

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    alors là je comprend plus rien,....


    j'ai mon attribut code qui possède bien une méthode set définie ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void setCode(String string) {
    		code = string;
    	}
    et je reçoit le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jsp translate : unable to find setter method for attribute code
    ma page jsp ressemble à ça :

    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
     
     
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/queries.tld" prefix="query" %>
     
    <H1>Transactions of an application code</H1>
     
    <html:form action="/TransApp" method ="post">
    	Please choose the application code 
    	<html:select property="categorie" size="1">
    		<html:options name="formTest" property="code" />
    	</html:select>
    	<html:submit>Go</html:submit>
    </html:form>
     
    <b><query:table name="transApp" code="EEE" /></b>
    EEE c'est un test, après j'aimerais passer request.getParameter("categorie")

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par Sniper37
    Citation Envoyé par mlequim
    ok j'ai compris, c'est sans doute car la première fois ce paramètre est à null,...

    sinon à part ça je sais toujours pas comment lire les request d'une classe, quelqu'un sait m'aider ?
    tu as parlé d'action! t'utilises struts????
    oui j'utilise struts. comme on ne peut pas utiliser de scriptlets avec struts j'ai eu l'idée de créér une taglib avec ma classe qui génère une table html. C'est aussi pour ça que je veux récupérer le paramètre categorie dans la classe associée à mon tag pour ne pas le faire sur la page.

    Comme je n'y arrive pas j'essaye en attendant de passer le paramètre categorie à mon tag via un scriptlet, c'est une solution temporaire.

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    ouii mais code.. on a dit hier que c'etait une collection . donc il ne faut pas la definir String mais ArrayList.

    ça pour le problème du set. Pourquoi tu veux ensuite passer en requete cet objet.

  10. #10
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par mlequim
    Citation Envoyé par Sniper37
    Citation Envoyé par mlequim
    ok j'ai compris, c'est sans doute car la première fois ce paramètre est à null,...

    sinon à part ça je sais toujours pas comment lire les request d'une classe, quelqu'un sait m'aider ?
    tu as parlé d'action! t'utilises struts????
    oui j'utilise struts. comme on ne peut pas utiliser de scriptlets avec struts j'ai eu l'idée de créér une taglib avec ma classe qui génère une table html. C'est aussi pour ça que je veux récupérer le paramètre categorie dans la classe associée à mon tag pour ne pas le faire sur la page.

    Comme je n'y arrive pas j'essaye en attendant de passer le paramètre categorie à mon tag via un scriptlet, c'est une solution temporaire.
    C'est encore moins clair ce que tu veux faire!!!!!!

    l'objet request tu l'a normalement dans l'action.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    oui mais là ma classe qui génère ma table html, et qui est associée au tag query:table n'est pas une classe action. Ce n'est qu'une classe normale, avec des getter et setter pour ses propriétées. J'utilise cette classe pour créér une table html, et elle n'à pas accès à l'objet request.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par Sniper37
    ouii mais code.. on a dit hier que c'etait une collection . donc il ne faut pas la definir String mais ArrayList.

    ça pour le problème du set. Pourquoi tu veux ensuite passer en requete cet objet.
    oups sorry, en fait, quand je parlais de code, je parlais de l'attribut de mon tag code à qui je veux passer "categorie". faudrait peut être que je renomme cette variable,...

  13. #13
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par mlequim
    oui mais là ma classe qui génère ma table html, et qui est associée au tag query:table n'est pas une classe action. Ce n'est qu'une classe normale, avec des getter et setter pour ses propriétées. J'utilise cette classe pour créér une table html, et elle n'à pas accès à l'objet request.
    Ok, la classe construit ta table html, après tu peux passer l'objet construit à ton action et l'utiliser

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    c'est que pour générer ma table j'ai besoin du paramètre categorie. Donc ça doit se faire avant de passer dans la classe action.

  15. #15
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par mlequim
    c'est que pour générer ma table j'ai besoin du paramètre categorie. Donc ça doit se faire avant de passer dans la classe action.
    dans l'ActionForm tu dispose de l'objetrequest dans deux méthodes. resete et validate.
    Et pourquoi tu veux utiliser request pour passer ton objet? tu peux le mettre en session, ou dans le bean....

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    en fait parameter est entrée par l'utilisateur via une combo box remplie par une db, et je le passe par request parceque,... je ne sais pas comment faire autrement.

    dans la classe action je pourrais récupérer ce paramètre et ensuite générer ma table html. Mais une fois que j'ai mon string qui représente ma table html, je fais comment pour l'afficher où je veux sur la page ?

  17. #17
    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
    Citation Envoyé par mlequim
    Citation Envoyé par Sniper37
    ouii mais code.. on a dit hier que c'etait une collection . donc il ne faut pas la definir String mais ArrayList.

    ça pour le problème du set. Pourquoi tu veux ensuite passer en requete cet objet.
    oups sorry, en fait, quand je parlais de code, je parlais de l'attribut de mon tag code à qui je veux passer "categorie". faudrait peut être que je renomme cette variable,...
    Il vaudrait mieux qu'en effet tu donnes un nom différent à ta collection et à ton attribut.

    Sinon, dans ton tag html:options, je ne vois pas l'option collection.
    Normalement, faut coder comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:options collection="codeList" property="code"/>
    Pas besoin de spécifier name="formTest" étant donné que dans le struts-config, tu as lié ton Action à cette ActionForm via l'option name de l'action-mappings.
    Modératrice Java - Struts, Servlets/JSP, ...

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    yep merci du conseil ! je vais modifier ça !

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 114
    Points
    114
    Par défaut
    yop yop,

    en fait personne ne connais la réponse ou alors c'est moi qui explique mon problème comme un pied lol , si c'est le cas n'hésitez pas à me demander de clarifier .

  20. #20
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par mlequim
    yop yop,

    en fait personne ne connais la réponse ou alors c'est moi qui explique mon problème comme un pied lol , si c'est le cas n'hésitez pas à me demander de clarifier .
    tu peux réexpliquer ton probleme parceque là..
    Ce que tu souhaites faire?
    Ce que tu as fait et qui ne marche pas?
    Les erreurs ?
    Ce que tu pense etre utile pour nous aider à comprendre ...

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

Discussions similaires

  1. [Framework] Accessibilité des properties dans classe Java
    Par zulot dans le forum Spring
    Réponses: 1
    Dernier message: 03/01/2012, 09h41
  2. ArrayList dans classe java
    Par remys dans le forum kettle/PDI
    Réponses: 1
    Dernier message: 21/12/2011, 20h59
  3. Valeur Javascript à récupérer dans classe Java
    Par Black-tiger dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 08/10/2010, 11h33
  4. Executer servlet dans classe java ?
    Par Tail dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 12/03/2007, 16h32
  5. Réponses: 13
    Dernier message: 25/03/2005, 11h00

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