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 :

Comment récupérer la valeur d'un bouton radio ?


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 61
    Points : 41
    Points
    41
    Par défaut Comment récupérer la valeur d'un bouton radio ?
    Bonjour,

    J'affiche dans un formulaire une liste de voiture

    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
     
    <logic:present name = "allMyCars">
    <html:form action="monPanier">
    <table>
    <logic:iterate id="car" name="allMyCars">
     
                                            <tr>    
                                                <td><html:radio     name="car" property="id" value="id" /></td>
                                                <td><bean:write     name="car" property="marque" /></td>
                                                <td><bean:write     name="car" property="modele" /></td>
                                                <td><bean:write     name="car" property="prix"  /></td>
                                                <td><bean:write     name="car" property="couleur" /></td>
                                            </tr>
                                        </logic:iterate>
    <html:submit value="Ajouter au panier" />
    </html:form>
    et je veux récupérer la valeur du bouton coché et l'ajouter au panier dans la classe Action, mais je n'y arrive pas !
    voici la partie du struts-config.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <action
                    attribute="id"
                    input="/rechercheVehiculeResultat.jsp"
                    name="panierStrutsActionForm"
                    path="/monPanier"
                    scope="session"
                        type="com.myapp.struts.panierStrutsAction">
                        <forward name="success" path="/panier.jsp"/>
                    </action>
    Je compte sur votre aide

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Ton probllème vient du fait que tous tes radios ont la meme valeur : "id" qui n'est pas évalué à car.id comme tu le souhaitais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <logic:iterate id="car" name="allMyCars">
    <bean:define id="carId">
      <bean:write name="car" property="id" />
    </bean:define>
      <tr>    
        <td><html:radio property="id" value="${carId}" /></td>
        <td><bean:write name="car" property="marque" /></td>
        <td><bean:write name="car" property="modele" /></td>
        <td><bean:write name="car" property="prix"  /></td>
        <td><bean:write name="car" property="couleur" /></td>
     </tr>
    </logic:iterate>
    RQ: Si dans ton web.xml, tu utilises la dtd d'une webapp < 2.4, alors le ${carId} ne fonctionnera pas et tu devrais le remplacer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:radio property="id" value="<%=carId >" />

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    merci, j'ai ajouté le bout de code que t'as proposé, maintenant je veux savoir comment récupérer la valeur id dans l' action ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public int idVehicule;
    public ActionForward execute(ActionMapping mapping, ActionForm  form, HttpServletRequest request, HttpServletResponse response)
        throws Exception 
        {
            RechercheVehiculeParMarque monActionForm = (RechercheVehiculeParMarque) form;
            idVehicule = ? ;
    
    /*sachant que pour récupérer la marque saisie, je fais :
    marque = monActionForm.getSaisie() ;
    */

  4. #4
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    En ajoutant un champ de même nom dans ton ActionForm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class TonActionForm{
      private String id;
     
      public String getId()...
      public void setId(...)...
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    public int idVehicule;
    public ActionForward execute(ActionMapping mapping, ActionForm  form, HttpServletRequest request, HttpServletResponse response)
        throws Exception 
        {
            RechercheVehiculeParMarque monActionForm = (RechercheVehiculeParMarque) form;
            idVehicule = Integer.parseInt(monActionForm.getId()) ;
    
    /*sachant que pour récupérer la marque saisie, je fais :
    marque = monActionForm.getSaisie() ;
    */

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup, ça marche !

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

Discussions similaires

  1. récupérer la valeur d'un bouton radio
    Par WhiteTigerZ dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2008, 14h51
  2. récupérer la valeur d'un bouton radio en javascript
    Par franfr57 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/05/2007, 20h28
  3. Comment envoyer la valeur d'un bouton radio dans MySQL
    Par michka999 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 18/08/2006, 18h08
  4. Réponses: 11
    Dernier message: 27/03/2006, 09h25
  5. Comment récupérer la valeur d'un bouton radio ?
    Par whbh dans le forum Langage
    Réponses: 2
    Dernier message: 20/01/2006, 22h32

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