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 :

déclarer un checkbox dans le form


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut déclarer un checkbox dans le form
    bonjour,

    j'ai déclaré dans ma jsp un seul checkbox,soit je le selectionne ou non:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:checkbox property="sup"></html:checkbox>
    et je veux maintenant créer dans le form les getter et setter de ce "checkbok"
    mais je sais pas quelle type je déclare "sup" STRING ou boolean ou autre?

    autre chose :

    je veux dans mon action tester si le chechbok est selectionné ou non comment je test ça ?

    merci bouceaup.

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Points : 65
    Points
    65
    Par défaut
    Hé bien, je te dirais que si tu rajoutes une value="true" bah ça sera en boolean sinon si tu mets une value="toto" à ta checkbox, ça sera du string.

  3. #3
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    voila j'ai déclaré dans ma jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td><html:checkbox property="sup"  ></html:checkbox>
    et j'ai déclaré les getter et les setter de "sup" dans le form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public Boolean getSup() {
    		return sup;
    	}
     
    		public void setSup(Boolean sup) {
    		this.sup = sup;
    	}
    et dans l'action je veux tester si le checkbox a été selectionné ou non :
    quand j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    sup=recep1.getSup();
    if (sup=true)
    			   {
    				   System.out.println("checkbox selectionné");
    			}
    			   else{
     
    				   System.out.println("checkbox non selectionné");
     
    			   }

    alors ça me donne toujour "checkbox selectionné" meme si je ne le coche pas

    quelqu'un peut me dire pourquoi?

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Points : 77
    Points
    77
    Par défaut
    Salut,
    Je crois que tu dois utiliser le String au lieu du boolean, et puis tu fais le test par rapport à la valeur "on", si equals("on") c-a-d le checkbox est coché sinon...
    Essaie-le et dis nous ça donne quoi.
    bonne chance

  5. #5
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    bon je l'ai modifié de type string comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	public String getSup() {
    		return sup;
    	}
     
    		public void setSup(String sup) {
    		this.sup = sup;
    	}
    et j'ai fais ce test dans l'action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      sup=recep1.getSup();
     
     System.out.println(sup);
     if (sup=="on")
    			   {
    				   System.out.println("checkbox selectionné");
    			}
    			   else{
     
    				   System.out.println("checkbox non selectionné");
     
    			   }
    			   }
    mais il m'affiche tjr "checkbox non selectionné" que je coche le checkbox ou non et d'ailleurs il m'affiche tjr "null" quand je test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sup=recep1.getSup();
     
     System.out.println(sup);
    je sais pas d'ou vient le prob

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    Si tu fais avec un type boolean il faut overrider la methode reset dans le form.
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public boolean getSup() {
      return sup;
    }
     
    public void setSup(boolean sup) {
      this.sup = sup;
    }
    public void reset(ActionMapping mapping, HttpServletRequest request) {
      this.setSup(false);
      super.reset(mapping, request);
    }

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Points : 77
    Points
    77
    Par défaut
    Quand tu fais le test par rapoort à "on", tu dois pas mettre du valeur dans l'attribue value du checkbox, tu laisse vide.

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Points : 77
    Points
    77
    Par défaut
    Ton bonheur est là :

    http://java.developpez.com/faq/strut...ox#simplecheck


    bonne chance

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Points : 65
    Points
    65
    Par défaut
    Tu peux tester comme dans ce lien :

    Les checkboxes ont un fonctionnement particulier. En effet, une checkbox ne renvoie la valeur spécifiée dans l'attribut value que si elle est cochée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:checkbox property="someprop" value="true">Yes</html:checkbox>
    Dans l'action, on récupère la valeur en faisant :
    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
     
     
    String somepropValue = null;
    if((somepropValue = request.getParameter("someprop"))!=null)
    { 
      // ckecked
      System.out.println("The box is checked and its value is " + somepropValue);
    }
    else 
    {
      // not ckecked
      System.out.println("The box is not checked");
      // set the value
      someprop = "false";
    }
    Lire la suite dans le lien que je t'ai donné.

Discussions similaires

  1. [Débutant] Déclarer colonne checkbox dans un datagridview
    Par Romain0 dans le forum VB.NET
    Réponses: 4
    Dernier message: 14/02/2012, 15h08
  2. checkbox d'un datagrid dans un form
    Par belakhdarbts10 dans le forum VB.NET
    Réponses: 1
    Dernier message: 14/12/2011, 12h21
  3. Réponses: 2
    Dernier message: 11/08/2008, 11h05
  4. <form:checkbox dans un <c:foreach
    Par yaugy dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/02/2008, 16h43
  5. Réponses: 4
    Dernier message: 29/07/2005, 11h47

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