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 :

form avec plusieurs "lien hypertext submits"


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut form avec plusieurs "lien hypertext submits"
    Hello les gens,
    J'ai un écran avec un <layout:datagrid> avec ses boutons ajouter, supprimer, enregistrer.
    Je dois aussi pouvoir faire une recherche pour affiner le résultat du datagrid.

    J'aurais souhaité obtenir le même résultat que ce que peut m'offrir un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:submit onclick="document.forms[0].method.value='search';" >Rechercher</html:submit>
    Mais avec un <html:link>
    J'utilise en fait DispatchAction et le bouton "rechercher" qui est en fait un <hmtl:link> appel une fonction javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function recherche(){
    document.forms[0].method.value='search';
    document.forms[0].submit();
    }
    Mais ça ne marche pas.

  2. #2
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Alors en fait même avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:submit onclick="document.forms[0].method.value='search';" >Rechercher</html:submit>
    j'ai toujours la même action qui est appelée, celle qui est renseignée avec le form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <layout:form action="/bidule" ...
    J'ai copié ce code sans le vérifier (ou plutôt sans avoir compris comment l'utiliser) depuis la discution suivante, intervention de paf15 20h04:
    http://www.developpez.net/forums/d15...sieurs-submit/

  3. #3
    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
    Pour le link, essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link action="pathDeLaDispatchAction" paramId="method" paramName="search">Rechercher</html:link>

  4. #4
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    La jsp ou se trouve l'<html:link> ne se charge plus et j'ai l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.servlet.ServletException: Cannot find bean: "search" in any scope

  5. #5
    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
    Désolée, j'ai dit une bêtise.
    paramName="search" ne peut être utilisé que si tu as un objet dans le scope sous le nom search.

    Donc, soit tu codes tout simplement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link action="pathDeLaDispatchAction.do?method=search" >Rechercher</html:link>
    soit tu utilises l'attribut paramName et dans ce cas il faut mettre la valeur search dans un objet stocké dans le scope via un bean:define :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <bean:define id="method" value="search"/>
    <html:link action="pathDeLaDispatchAction" paramId="method" paramName="method">Rechercher</html:link>

  6. #6
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    La première solution ne permet pas de recuperer les valeurs du form non ?

  7. #7
    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 jadey Voir le message
    La première solution ne permet pas de recuperer les valeurs du form non ?
    Si mais cela suppose que le formulaire a été soumis avant le clic sur le lien parce qu'un clic sur un lien ne soumet pas le formulaire, contrairement à un clic sur un bouton submit.

  8. #8
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Si mais cela suppose que le formulaire a été soumis avant le clic sur le lien parce qu'un clic sur un lien ne soumet pas le formulaire, contrairement à un clic sur un bouton submit.
    Traduit en code cela donnerais quoi par exemple ?
    Moi j'ai procédé comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link href="#" onclick="javascript:recherche();"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function recherche(){
    document.forms[0].reqCode.value='search';
    document.forms[0].submit();
    }
    avec reqCode en même temps le parametre sur struts-config de mon action qui étends DispatchAction et un attribut de mon form.

    ça marche bien il y a quand même un hic, bref je pense abandonner cette méthode si je trouve mieux.

  9. #9
    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
    A ma connaissance, il n'y a pas de meilleure solution que la tienne à partir du moment où tu as besoin de soumettre le formulaire.

    C'est quoi le hic ?

  10. #10
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    C'est quoi le hic ?
    Je ne sais plus ce que j'avais constaté comme hic. J'aurais mieux fait de te répondre sur le champs , mais je me souviens que c'était assez crade à décrire j'ai eu la flemme .
    Il y'a bien les <layout:submit> et <layout:cancel> avec struts-layout mais il n'y a pas d'attribut dans ces balises et c'est très important pour moi.

Discussions similaires

  1. VBA Interaction avec IE : Gestion de [Form] avec plusieurs [Submit]
    Par rafiael dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/09/2013, 23h04
  2. Réponses: 3
    Dernier message: 20/02/2011, 00h01
  3. Position absolute avec Div contentant lien hypertexte
    Par DjChat dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/05/2008, 18h22
  4. activer avec vba un lien hypertexte contenu dans une page html
    Par epaminondas dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/05/2008, 11h55
  5. Struts form avec plusieurs submit
    Par micanti dans le forum Struts 1
    Réponses: 3
    Dernier message: 29/05/2006, 22h23

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