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][JSP] Multibox cochée par défaut [FAQ]


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Points : 91
    Points
    91
    Par défaut [Struts][JSP] Multibox cochée par défaut
    Bonjour,

    J'avais déjà fait ça mais là ça ne marche pas et je ne comprends pas.

    Voici mon struts-config.xml :

    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
    17
    18
    19
    20
    21
    22
    <form-bean
    			name="adminUserForm"
    			type="fr.webshop.admin.form.AdminUserForm" >
    		</form-bean>
     
    <action path="/admin/manageUsers"
    			type="fr.webshop.admin.action.manageUsersAction" 
    			name="adminUserForm"
    			validate="false">
    			<forward name="error" path="/admin/error.jsp" />
    			<forward name="success" path="/admin/displayUsers.jsp" />
     
    <action path="/admin/bannedUser" 
    			type="fr.webshop.admin.action.BannedUserAction"
    			name="adminUserForm" 
    			scope="request" 
    			input="/admin/manageUsers.do"
    			validate="false">
    			<forward name="error" path="/admin/error.jsp" />
    			<forward name="success" path="/admin/manageUsers.do" />
    	</action>
    	</action>
    Ma classe AdminUserForm:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    private String[] checkedBox;
    	private String[] box;
    	/**
             * @return Returns the checkedBox.
             */
    	public String[] getCheckedBox() {
    		return checkedBox;
    	}
    	/**
             * @param checkedBox The checkedBox to set.
             */
    	public void setCheckedBox(String[] checkedBox) {
    		this.checkedBox = checkedBox;
    	}
    	/**
             * @return Returns the formBox.
             */
    	/**
             * @return Returns the box.
             */
    	public String[] getBox() {
    		return box;
    	}
    	/**
             * @param box The box to set.
             */
    	public void setBox(String[] box) {
    		this.box = box;
    	}
    Ma classe manageUsersAction:
    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[] checkedBox = new String[3];//[nbUsers];
    				checkedBox[2]="Rene";
    				checkedBox[1]="Gerard";
    				checkedBox[0]="Claude";
     
    				String[] box = new String[3];//[nbUsers];
    				box[2]="Rene";
    				box[1]="Gerard";
    				box[0]="Claude";
     
    AdminUserForm myForm = (AdminUserForm)form;
    myForm.setCheckedBox(checkedBox);
    				myForm.setBox(box);
    ...
    et enfin la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <logic:present name="adminUserForm" property="box" >
    				<logic:notEmpty name="adminUserForm" property="box" >
    					<logic:iterate id="value" name="adminUserForm" property="box">
    						<tr>
    							<td>
    								<html:multibox property="checkedBox"><bean:write name="value"/></html:multibox> 
    								<bean:write name="value"/>
    							</td>
    						</tr>
    					</logic:iterate> 
    				</logic:notEmpty>
    			</logic:present>
    Les cases ne sont pas cochées, je ne comprends vraiment pas.

    Merci de votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Points : 91
    Points
    91
    Par défaut
    Il fallait que je mette
    dans le struts-config. Je suis pas trop au point sur les scope, faut que je vois ça de plus pres.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Points : 91
    Points
    91
    Par défaut
    J'ai un probleme que je n'avais pas vu dans la classe Action qui traite le formulaire.

    Je veux récupérer la liste des cases cochée je fais donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AdminUserForm myForm = (AdminUserForm)form;
    String[] checkedBox = myForm.getCheckedBox();
    Si la case n'était pas cochée à l'origine et que je la coche je la récupère bien dans le tableau. Mais si je décoche les cases qui étaient de maniere a ce que plus aucune case ne soit cochée dans ce cas je récupère la liste des anciennes cases cochées et non une liste vide...

    Si quelqu'un sait pourquoi ....

    Merci.

  4. #4
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Points : 91
    Points
    91
    Par défaut
    J´qi fixé temporairement le probleme en recupérant le liste des cases cochées dans le "request" plutot que dans le bean. Mais j´aimerai bien comprendre d´ou vient le probleme...

  5. #5
    Membre régulier Avatar de venegan
    Inscrit en
    Mars 2005
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 72
    Points : 70
    Points
    70
    Par défaut
    Tu ne récupère des checkbox que les cases qui sont cochées donc si tu décoche ta checkbox tu ne récupère pas de valeur donc il n'y a pas de mises à jour.

    L'astuces consistes à renseigner quand elle est cochée une valeur différente que celle tu as en entrée et en sortie tu teste cette valeur et tu coche et décoche tout en fonction.

  6. #6
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Points : 91
    Points
    91
    Par défaut
    Pour afficher les checkbox cochées et décochées, il n'y a pas de problemes.
    Le probleme réside dans le cas spécial que je décris ci dessus, si je décoche toutes les cases, je récupère les valeurs des cases précédemment cochées alors que je ne devrais rien récupérer puisqu'il n'y a rien de cocher...

  7. #7
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 71
    Points : 56
    Points
    56
    Par défaut
    j'ai lu en diagonale, mais dans ces cas là je crois qu'il faut gérer ça au niveau de la méthode reset() de ton ActionForm

    voilà, me fusille pas si j'ai rien compris, mais je pense que tu as quelque chose à faire là dessus

Discussions similaires

  1. Bouton radio coché par défaut
    Par salsero1 dans le forum Struts 1
    Réponses: 13
    Dernier message: 18/11/2007, 19h21
  2. pb radiobutton coché par défaut
    Par purple21 dans le forum Flash
    Réponses: 2
    Dernier message: 15/06/2007, 12h54
  3. Case à cocher cochées par défaut
    Par nita2006 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 14/05/2007, 12h08
  4. [ JSP ][ MULTIBOX ] Struts Multibox checked par défaut
    Par maximus75 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 15/06/2005, 17h30
  5. Réponses: 9
    Dernier message: 12/01/2005, 17h00

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