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

Struts 1 Java Discussion :

Paramètres dans l'url


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Par défaut Paramètres dans l'url
    Bonjour,

    Je n'arrive pas à lire un paramètre dans mon action.

    Je m'explique :

    Je valide ma page web avec un formulaire dont voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="maPage.do?criteria=on">...
    Une fois l'action appelé je n'arrive pas à lire la variable avec un
    request.getParameter("criteria") la valur est null, il n'y a aucun paramètre ...

    Dans mon struts-config.xml j'ai :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <action
    path="maPage"
    scope="request" j'ai essayé aussi avec scope="session"
    attribute="mon bean ..."
    name="nom de mon bean"
    >

    Voilà une idée ?

    Merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Par défaut [Struts] Lecture Argument Url en get/post
    Je viens de remarquer ceci :

    Le getParameters fonctionne seulement si je valide la page en appuyant sur la touche entrée en revanche quand je valide le formulaire en cliquant sur le bouton action du formulaire cela ne passe pas les arguments.

    J'ai un autre problème : je n'arrive pas à effectuer d'itération sur la liste des arguments de va variable request : j'ai passé toutes les propriétés dans le menu debug mais je ne l'ai pas trouvé : qq'un pourrai-til m'éclairer ?

    Merci d'avance pour vos réponses,



    A++

  3. #3
    Expert confirmé

    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
    Par défaut
    Citation Envoyé par kinnex91 Voir le message
    Le getParameters fonctionne seulement si je valide la page en appuyant sur la touche entrée en revanche quand je valide le formulaire en cliquant sur le bouton action du formulaire cela ne passe pas les arguments.
    Tu n'aurais pas par hasard mis l'attribut redirect à true dans la balise forward ?

    Citation Envoyé par kinnex91 Voir le message
    J'ai un autre problème : je n'arrive pas à effectuer d'itération sur la liste des arguments de va variable request : j'ai passé toutes les propriétés dans le menu debug mais je ne l'ai pas trouvé : qq'un pourrai-til m'éclairer ?
    Pourrais-tu être plus précis et poster un bout de code ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Par défaut
    Non pas de redirect à true :

    Pour lire les paramètres, mon problème est résolu : je lis correctement avec ça :
    arg2.getQueryString().split("&");
    ou ça :
    arg2.getRequest.getParameters("mon_paramteres")

    En revanche je ne peux lire ces varaibles que si je valide l'url en le copiant-collant dans la barre d'adresse du naviguateur, si je le valide en cliquant sur le bouton action de mon formulaire, alors tout est vide...

    Voici un peu de mon code :


    Fichier Struts-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <action path="/fundsFound"
               scope="request"
               attribute="fundProfilingData"
               type="com.fundprofiling.web.action.SelectorAction"
               name="FundProfilingData">
          <forward name="fundprofiling_selector" path="/fundselector_menu.jsp" />
          <forward name="fundprofiling_listeFunds" path="/fundsFound.jsp" />
    </action>
    Ma JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form  action="fundsFound.do?criteria=on&code_isin=" method="GET"> 
               <input type="hidden" id="cache_code_isin" value="">
    </form>

    Mon action SelectorAction.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public ActionForward execute(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
     
    Criteria fund2_criteria = null ;
    boolean debug = true;	
    if(arg2.getParameter("criteria") != null &&  arg2.getParameter("criteria") != "" ){
       String[] parametres = arg2.getQueryString().split("&");
    Meri de ton aide,

  5. #5
    Expert confirmé

    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
    Par défaut
    Pourquoi n'utilises-tu pas les tags Struts dans la jsp ?
    Et je ne vois pas de bouton submit ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Par défaut
    Voici comment je fais le submit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:slect name="fundProfilingData" property="v_datecalcul" onchange="document.getElementById('cache_code_isin').value=this.selectedItem; document.forms[0].sumit()">
    <div style="margin-left:40px"><html:options nmae="fundProfilingData" property="v_datecalcul" /></div></html:select>
    Pour les tags struts desquels parles-tu par exemple ?

    Le fait que mon attribut de struts-config soit en request n'a rien à voir avec le fait qu mes arguments sont bien passés à la servlet action ?

    Le fait que j'utilise la méthode GET dans l'attribut method de ma balise html:form est correct non ? C'est bien grace à cela que mes attributs sont passés dans l'url ?

    Sinon je pourrai procéder d'une autre façon en récupérant mes paramètres directement dans les éléments de mon formualire ? En utilisant mon form bean java ?

    Dans ce cas je ne sais pas comment récupérer uniquement l'item sélectionné d'une liste déroulante ? Je dois utiliser du Javascript. Je vais lire la faq struts mais je vieux ta réponse tout de même.

    Merci de ton aide,

    Manu.

  7. #7
    Expert confirmé

    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
    Par défaut
    Citation Envoyé par kinnex91 Voir le message
    Voici comment je fais le submit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:slect name="fundProfilingData" property="v_datecalcul" onchange="document.getElementById('cache_code_isin').value=this.selectedItem; document.forms[0].sumit()">
    <div style="margin-left:40px"><html:options nmae="fundProfilingData" property="v_datecalcul" /></div></html:select>
    Je suppose que tu as codé manuellement le code du select parce qu'il y a plusieurs erreurs (slect au lieu de select, sumit au lieu de submit, nmae au lieu de name).

    Citation Envoyé par kinnex91 Voir le message
    Pour les tags struts desquels parles-tu par exemple ?
    Dans le code de la jsp que tu as codé, je vois les tags form et input.
    Il faudrait utiliser les tags Struts html:form et html:hidden.

    Citation Envoyé par kinnex91 Voir le message
    Le fait que mon attribut de struts-config soit en request n'a rien à voir avec le fait qu mes arguments sont bien passés à la servlet action ?
    Le scope que tu précises dans le mapping de l'Action correspond au scope du form-bean. ça n'a donc effectivement rien à voir.

    Citation Envoyé par kinnex91 Voir le message
    Le fait que j'utilise la méthode GET dans l'attribut method de ma balise html:form est correct non ? C'est bien grace à cela que mes attributs sont passés dans l'url ?
    Même si tu ne mets pas method="GET", les attributs seront quand même passés en paramètres de la requête. La seule différence, c'est qu'en method="POST", qui est le défaut, les paramètres ne sont pas visibles dans l'url.

    Citation Envoyé par kinnex91 Voir le message
    Sinon je pourrai procéder d'une autre façon en récupérant mes paramètres directement dans les éléments de mon formualire ? En utilisant mon form bean java ?

    Dans ce cas je ne sais pas comment récupérer uniquement l'item sélectionné d'une liste déroulante ? Je dois utiliser du Javascript. Je vais lire la faq struts mais je vieux ta réponse tout de même.
    Tel que tu as codé le html:select, tu peux récupérer la valeur de l'item sélectionné via la propriété v_datecalcul :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TonActionForm tonActionForm=(TonActionForm) form ;
    String itemSelectionne=tonActionForm.getV_datecalcul() ;

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Par défaut
    Merci cela fonctionne parfaitement,

    Je n'avais pas mis mes champs dans la balise html:form, j'avais bien une balise <form> classique, html mais elle ne contenait aucun autre éléments ...

    Post à cloturer donc et merci de ton aide.

    Manu.

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

Discussions similaires

  1. passage de paramètre dans une url
    Par samira84 dans le forum Struts 1
    Réponses: 5
    Dernier message: 12/06/2007, 15h52
  2. erreur de passage de paramètre dans une urL
    Par lodan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/02/2007, 12h29
  3. [WebForms]Récupération d'un paramètre dans l'URL
    Par Kylen dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 07/06/2006, 13h22
  4. [JpGraph] Passage d'un tableau en paramètre dans une URL pour JPgraph
    Par crazydiver_e2 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/01/2006, 16h15
  5. récupérer les paramètres dans une url
    Par asetti dans le forum ASP
    Réponses: 6
    Dernier message: 23/12/2005, 10h08

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