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 2 Java Discussion :

Associer des actions différentes dans un formulaire


Sujet :

Struts 2 Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 13
    Points
    13
    Par défaut Associer des actions différentes dans un formulaire
    Salut

    J'ai un problème pour associer des actions différentes a deux boutons d'un même formulaire
    Quelque soit le bouton sur lequel j'appui, la methode exécute est toujours utilisée.
    J'ai suivi sans succès ce qu'on dit ici.
    http://www.developpez.net/forums/d53...me-formulaire/

    J'ai beau vérifié, je ne trouve pas le problème

    Mon fichier xml
    <package name="librairie" namespace="/librairie" extends="default">
    <action name="RechercheLivre" class="librairie.RechercheLivreAction">
    <result name="input">/librairie/RechercheLivre.jsp</result>
    <result name="success">/librairie/RechercheLivre.jsp</result>
    </action>
    <action name="listeLivreAction"
    class="librairie.RechercheLivreAction" method="rechercher">
    <result name="success">/librairie/RechercheLivre.jsp</result>
    </action>
    <action name="supprimerLivreAction"
    class="librairie.RechercheLivreAction" method="effacer">
    <result name="success">/librairie/RechercheLivre.jsp</result>
    </action>
    </package>

    Ma jsp
    <s:form action="RechercheLivre">
    <s:textfield key="RechercheLivre.nomLivre" name="nom"/>
    <s:submit key="RechercheLivre.bouton.valider" method="rechercher" value="tesd"/>
    <s:submit key="RechercheLivre.bouton.annuler" method="effacer" value="fgez"/>
    </s:form>


    Ma classe
    public class RechercheLivreAction extends LibrairieSupport {


    private String nom;
    LivreDao livreDao;
    List<Livre> livreList = new ArrayList<Livre>();



    /**
    *
    */
    private static final long serialVersionUID = -7966777564300031486L;

    public String execute() throws Exception {
    String resultat = null;
    //livreList = livreDao.GetAll();

    if (isInvalid(getNom())) resultat = INPUT;
    else resultat = SUCCESS;
    return resultat;
    }

    public String rechercher() throws Exception {

    return SUCCESS;
    }

    public String effacer() throws Exception {

    this.nom = null;
    return SUCCESS;
    }

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 288
    Points : 261
    Points
    261
    Par défaut
    Bonjour PaulPersonne820,
    Pour commencer, je n'ai pas regardé le lien du tuto.
    C'est normal que ça ne marche pas comme tu veux ! Je m'explique :
    Citation Envoyé par PaulPersonne820 Voir le message

    Mon fichier xml
    <package name="librairie" namespace="/librairie" extends="default">
    <action name="RechercheLivre" class="librairie.RechercheLivreAction">
    <result name="input">/librairie/RechercheLivre.jsp</result>
    <result name="success">/librairie/RechercheLivre.jsp</result>
    </action>
    <action name="listeLivreAction"
    class="librairie.RechercheLivreAction" method="rechercher">
    <result name="success">/librairie/RechercheLivre.jsp</result>
    </action>
    <action name="supprimerLivreAction"
    class="librairie.RechercheLivreAction" method="effacer">
    <result name="success">/librairie/RechercheLivre.jsp</result>
    </action>
    </package>
    Dans ce fichier, tu dis à struts si
    - l'url http://seveur:port:/monApp/RechercheLivre.action est appelée tu déclenchera la methode execute ( methode par défaut ) de la classe RechercheLivreAction.
    - l'url http://seveur:port:/monApp/listeLivreAction.action est appelée tu déclenchera la methode rechercher de la classe RechercheLivreAction.
    - l'url http://seveur:port:/monApp/supprimerLivreAction.action est appelée tu déclenchera la methode effacer de la classe RechercheLivreAction.
    Tu definis aussi les pages de redirection en cas d'error ou de success des methodes utilisées. Pas de soucis à ce niveau.
    Citation Envoyé par PaulPersonne820 Voir le message
    Ma jsp
    <s:form action="RechercheLivre">
    <s:textfield key="RechercheLivre.nomLivre" name="nom"/>
    <s:submit key="RechercheLivre.bouton.valider" method="rechercher" value="tesd"/>
    <s:submit key="RechercheLivre.bouton.annuler" method="effacer" value="fgez"/>
    </s:form>
    Par contre ici, tu dis si quelque clique sur le bouton submit tesd, tu appelles l'action RechercheLivre.action. L'action de ton formulaire !
    En plus, je pense que ton bouton annuler ne doit pas marcher. Si tu veux supprimer les champs remplis par l''utilisateur dans un form struts, tu dois utiliser le tagSi tu veux rediriger d'autres boutons sur les actions listeLivreAction et supprimerLivreAction.action. Tu dois utiliser un bouton et non un submit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" id="supprimer" value="Supprimer">
    et tu fais un Javascript du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $('#supprimer').click(function(){
    	// ici tu fais un appel Ajax sur l'action supprimerLivreAction.action
       .........................
    });
    En espérant t'avoir aidé.
    Bon courage

Discussions similaires

  1. [XL-2010] Associer des valeurs identiques dans deux feuilles différentes
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/01/2014, 14h38
  2. [AC-2003] imputer des taux différents dans chaque colonne d'un même formulaire
    Par Ardiden31 dans le forum VBA Access
    Réponses: 16
    Dernier message: 16/04/2012, 14h28
  3. Ajouter des champs d'une table différente dans un formulaire
    Par Bouom771 dans le forum Modélisation
    Réponses: 5
    Dernier message: 10/01/2008, 20h03
  4. Deux actions différentes dans un même formulaire
    Par gpsevasion dans le forum Langage
    Réponses: 3
    Dernier message: 25/01/2007, 00h30
  5. Réponses: 2
    Dernier message: 03/02/2005, 08h59

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