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 :

ActionForm et plusieurs checkbox


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut ActionForm et plusieurs checkbox
    Bonjour, dans une liste de pointage non valide, chacune possède un chekbox, le chef du projet choisit l'ensemble de pointages qu'il veut valider puis il valide le formulaire, j'ai trouvé une discussion sémilaire http://www.developpez.net/forums/sho...=list+checkbox, mais j'ai un petit problème : id de mon pointage il est de type long et je suis obligée de déclaré un tableau de string lorsque je fais au niveau metier ma methode update, il me retrourne une erreur parce que l'id est Long est non pas string, je vous présente ce que j'ai fais :

    Form :
    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
     	private String[] selectedIdp;
     
    	public String[] getSelectedIdp() {
    		return selectedIdp;
    	}
     
    	public void setSelectedIdp(String[] selectedIdp) {
    		this.selectedIdp = selectedIdp;
    ...
    	public void reset(ActionMapping mapping, HttpServletRequest request) {
     
    		this.nomJour="";
    		this.selectedRessource = 1;
    		this.selectedIdp = new String[8];
    	}
    Dans ma jsp :
    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
    <%int nb=0; %>
      <table width="100%">
      <logic:iterate id="ptg" name="pgf" property="pointages">
     
      <tr
      <%if(nb==0){%> bgcolor="EEF3FA" <% nb=1;} else {%> bgcolor="C1DAEC" <% nb=0;} %>>
      		<td  width="65" align="center"><html:multibox property="selectedIdp"><bean:write name="ptg" property="idPointage"/></html:multibox></td>
      		<td  width="205"><bean:write name="ptg" property="tache.projet.intituleProjet"/></td>
      		<td  width="205"><bean:write name="ptg" property="tache.libelleTache"/></td>
      		<td  width="270" align="center"><html:textarea property="motifRejet"/></td>
      		<td  width="80" align="center"><bean:write name="ptg" property="dureeTache"/></td>
     
      		</tr>
      		</logic:iterate>	
    </table>
    ma méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        public void updateStatut(Long idp){
        	Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
    		Pointage point = (Pointage) session.load(Pointage.class, idp);
     
    		point.setStatut("Valide");
    		session.getTransaction().commit();
        }
    mon action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    else if(pgf.getAction().equals("Enregistrer")){
     
    			int i;
    			String[] listeid = pgf.getSelectedIdp();
    			for(i=0;i<=8;i++){
    				if(listeid[i] != null){
    					gpg.updateStatut(listeid[i]);
    				}
    			}
    		}
    Merci pour votre aide

  2. #2
    Expert confirmé

    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
    Par défaut
    Fais un test avec un tableau de Long dans l'ActionForm.

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut
    Merci c_nvy j'ai fait exactement ca , il m'appelle correctement la méthode mais il me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    		else if(pgf.getAction().equals("Enregistrer")){
     
    			int i;
    			Long[] listeid = pgf.getSelectedIdp();
    			System.out.println(pgf.getSelectedIdp());
    			for(i=0;i<=30;i++){
    				if(listeid[i] != null && i<listeid.length){
    					gpg.updateStatut(listeid[i]);
    				}
    			}
    		}
    sachant que dans le form j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.selectedIdp = new Long[30];
    , j'ai compris que je dépasse les bornes de mon tableau mais comment puis je résoudre ca sachant que 10 element ca me suffit ?

  4. #4
    Expert confirmé

    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
    Par défaut
    Dans l'ActionForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.selectedIdp = new Long[0];
    et dans l'Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    		else if (pgf.getAction().equals("Enregistrer"))
    		{ 
    			Long[] listeid = pgf.getSelectedIdp();
    			System.out.println(pgf.getSelectedIdp());
    			for(int i=0;i<listeid.length;i++)
    			{
    				gpg.updateStatut(listeid[i]);
    			}
    		}
    Attention, dans listeid, tu n'auras que les id cochés.

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut
    Attention, dans listeid, tu n'auras que les id cochés
    c'est ce que je veux exactement, merci infiniment c_nvy t'es la meilleure

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut
    Bonjour, je reviens vers vers c_nvy, malheureusement, j'aurais besoin aussi des pointages qui ne sont pas séléctionné, parce que je met une liste de pointage qui m'affiche certains informations, le chef de projet choisit les pointages a valider(ce qu'on a fait en haut) et ceux ceux qui n'ont été pas choisi(rejetées), le chef de projet doit signalé le motif de rejet, je vous demande est ce que je vais créer la meme chose mais cette fois ci avec un tableau de string, mais au lieu de que dois je faire pour un tableau de string, moi j'utilise ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:textarea property="motifRejet"/>
    c'est ce textarea que dois rempli le chef de projet que j'initialise toujours a :
    "Pas vu"

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

Discussions similaires

  1. [VB.NET] plusieurs checkbox plusieurs events
    Par b_lob dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/05/2006, 12h23
  2. [Tableaux] Envoyer plusieurs checkboxes
    Par jfjava2002 dans le forum Langage
    Réponses: 8
    Dernier message: 14/03/2006, 18h06
  3. récupérer données de plusieurs checkbox
    Par themis121 dans le forum Langage
    Réponses: 46
    Dernier message: 28/11/2005, 16h30
  4. Comment cocher/décocher plusieurs "checkbox"?
    Par Crazynoss dans le forum ASP
    Réponses: 2
    Dernier message: 15/05/2005, 23h38
  5. Cochage de plusieurs checkbox
    Par licorne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/03/2005, 10h30

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