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 :

[Struts 1.3] Balise html:button avec property


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Points : 104
    Points
    104
    Par défaut [Struts 1.3] Balise html:button avec property
    Bonjour,

    Je n'arrive pas comprendre la doc et son utilisation de la proprièté property="" dans la balise html:button
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <html:form action="actionRecherche" >
     
    <html:button property="rechercher" value="rechercher" onclick="this.form.submit()"/>
     
    </html:form>
    A quoi sert la proprièté : property=""??? pourquoi elle est obligatoire ???
    Comment récupérer dans l'action sa valeur?? qui devrait être si j'ai à peu prés compris value=rechercher

    merci de votre aide

  2. #2
    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
    Cela te permet tout simplement de récupérer la valeur du bouton sur lequel tu as cliqué.
    C'est utile quand il y a plusieurs boutons dans le formulaire.

    Pour récupérer sa valeur :
    soit tu définis une propriété dans l'ActionForm et dans l'Action, tu appelles le getter correspondant.
    soit tu utilises le request.getParameter.

    Petite remarque par rapport au code que tu as posté :
    Au lieu de soumettre le formulaire via l'évènement onclick, pourquoi ne pas utiliser tout simplement le tag html:submit ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Points : 104
    Points
    104
    Par défaut
    Oui, c'est à peu prés ce que j'avais compris en théorie.

    Par contre chez moi, en pratique, je n'arrive pas à le faire marcher.
    tu dis :
    soit tu définis une propriété dans l'ActionForm et dans l'Action, tu appelles le getter correspondant.
    je l'ai fait, et là le html:button doit submitter le formulaire pour pouvoir retrouver dans l'action le paramètre du formulaire heritant de l'ActionForm, non ?? c'est pourquoi le code de mon onClick

    tu dis :
    soit tu utilises le request.getParameter.
    alors là comme tu fais pour envoyer dans la requête et donc vers l'action la property du html:button ???

    Mes actions heritent de Action simplement.
    Le fonctionnement de la balise html:button ne fonctionnerait pas plus avec un DispatchAction, ou LookupDispatchAction...

    Tout aide est la bien venu....

  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
    Dans les deux cas, cela implique effectivement un submit du formulaire, d'où ma remarque : pourquoi n'utilises-tu pas un bouton submit ?

  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
    En fait, après vérif, tu as raison, on ne peut pas récupérer la valeur du bouton dans l'Action si on utilise un html:button.
    Par contre, ce que j'ai indiqué fonctionne très bien avec un html:submit.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Points : 104
    Points
    104
    Par défaut
    Ok, je suis d'accord avec toi pour le html:submit; si on veut soumettre un formulaire, on met html:submit. C'est la balise exacte qui répond à ce besoin.

    Par contre, revenons sur le html:button, la raison de mon post. J'ai l'impression qu'on ne se comprend pas bien....

    a quoi sert cette balise ??
    tu dis :
    on ne peut pas récupérer la valeur du bouton dans l'Action si on utilise un html:button
    on est obligé (required dans la doc) de mettre l'attribut property="" et je n'arrive jamais à récupérer quelque chose...si on est obligé, c'est bien pour quelque chose mais quoi??
    je ne vois pas trop l'utilité de la balise html:button.

    Peux-tu donner un exemple simple de son utilisation? ou quelqu'un ne peut pas donner un exemple simple?? Pourquoi on utilise cette balise???

    je m'arrache les cheveux....car il pouurait répondre à mon besoin peut-être....

    tout aide est la bien venue...

  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
    Sincèrement, je ne sais pas pourquoi l'attribut property est obligatoire.

    Pour moi, le tag html:button peut être utile si l'on souhaite exécuter une fonction Javascript lors d'un clic sur un bouton et ce, sans soumettre le formulaire.

    Et sinon, pourrais-tu exprimer ton besoin ?

  8. #8
    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 c_nvy Voir le message
    Sincèrement, je ne sais pas pourquoi l'attribut property est obligatoire.
    En fait, après réflexion, je pense qu'il est obligatoire parce que, grâce à cet attribut, tu peux récupérer sa valeur en Javascript et donc la tester si besoin est.

    En codant le tag Struts html:button suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:button property="bouton" value="rechercher" />
    cela génère la balise html suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" name="bouton" value="rechercher"/>
    Tu peux donc très bien récupérer la valeur du bouton en Javascript via la méthode getElementsByName("bouton").

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Points : 104
    Points
    104
    Par défaut
    J'en étais arrivé un peu à la même conclusion, mais étant un peu têtu, qd tu lis la doc offcielle, l'explication a l'air de stipuler
    property* : Name of the request parameter that will be included with this submission, set to the specified value.
    value : Value of the label to be placed on this button. This value will also be submitted as the value of the specified request parameter. [Body of this tag (if any), or "Click"]
    Mon anglais est loin d'être parfait, mais je déchiffre en paraphrasant un peu... que la property sera renseigné par la value et lors de la soumission sera envoyé...

  10. #10
    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
    Il est vrai que la doc officielle n'est pas bien claire sur le sujet.

    Mais pourrais-tu préciser ce que tu souhaites exécuter via ce tag html:button ?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Points : 104
    Points
    104
    Par défaut
    En fait ma démarche était : regardons de près ce tag html:button de struts, comment il fonctionne?? et ce qui peut m'apporter pour mon application par rapport à un html:submit ou un html:link.......

    Pour le moment, ma conclusion pas grand chose de plus, je ne vois pas vraiment son utilité. Si quelqu'un a une idée de son utilité ou un argument pourquoi il a utilisé cette balise plus tôt qu'une autre... je suis preneur.
    Voir même : y-a-t-il quelqu'un qui l'utilise ??

    Pour moi, c'est une balise button à qui tu vas pouvoir y ajouter du code javascript(pas vraimant nouveau !!) grâce à l'attribut onclick="". On doit OBLIGATOIREMENT y mettre l'attribut property="" pour simplement et juste simplement lors de la transformation en html "pur" avoir la balise name de renseigner : oulalala super génial ?? Obligatoire, pourquoi ???
    Une balise pas vraiment utile et pas vraiment intéressante : voir redondante !!

    Je suis preneur de vos avis car je reste persuadé dans un petit coin de ma tête que j'ai dû louper un truc mais quoi?????

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Supposons que tu ai deux boutons A et B dans ta jsp, le clique sur A et B permet de charger une même page JSP avec des champs cachés dépendant du bouton sur lequel tu as cliqué. Dans ce cas là tu envois en paramètre de l'url la valeur de la propriété du bouton sur lequel tu as cliqué.

Discussions similaires

  1. Réponses: 22
    Dernier message: 28/08/2011, 23h12
  2. Obtenir des balises html+texte avec xpath ?
    Par apt dans le forum Langage
    Réponses: 1
    Dernier message: 23/07/2011, 12h07
  3. Comment faire une balise <html:text> avec valeur dynamique
    Par chriscoolletoubibe dans le forum Struts 1
    Réponses: 13
    Dernier message: 14/05/2007, 22h13
  4. [ Struts 1.1] balise html:radio
    Par jakouz dans le forum Struts 1
    Réponses: 6
    Dernier message: 06/02/2007, 15h47

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