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 :

filtrage d'une liste deroulante dynamique par une autre dynamique


Sujet :

Struts 1 Java

  1. #1
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut filtrage d'une liste deroulante dynamique par une autre dynamique
    Bonjour,
    je travaille sur appfuse(struts,hibernates,tomcat{mysql},ant sous eclipse,spring) et je voudrais savoir svp comment faire dans ma page jsp (du js et du struts) le filtrage d'une liste deroulante dynamique de fichesd'evaluation à partir de ma liste deroulante ,dynamique aussi, projet.
    voici le code :
    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
    <table width="610" height="214" border="0">
    <tr>
    <td height="8">Projet </td>
    <td height="13" colspan="3">
    <html:select property="projetId" onchange="Change(this.form)">
    <html:option value="(Choisissez)"/>	
    <html:options   collection="projets" property="id" labelProperty="nomProjet" />
    </html:select></td>
    </tr>
     
                              <tr>
                                <td height="8">fiche d'&eacute;valuation </td>
                                <td height="13" colspan="3">
     
    							<html:select  property="ficheId">
    							<html:option value="(Choisissez)"/>	
    	        						<html:options   collection="fiches" property="id" labelProperty="nomFiche" />
                     				</html:select>							</td>
                              </tr>
    aidez moi s'il vous plait je suis vraiment conicé puiske je suis en pleine periode de stage et maintenant je suis bloqué
    et merci pou tout.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Si je comprends bien, ta liste de "fiches" dépend directement de ta liste de "projets" ?
    Si c'est le cas, comme je l'ai déjà dit sur ce forum, tu as deux solutions :

    1 - Tu fais tout côté client. C'est-à-dire que tu charges toutes tes données, dans des tableaux javascript, par exemple, au chargement, et que tu gères les changements de valeurs de ta première liste directement en javascript. C'est a priori une bonne méthode, que j'applique pour les listes de taille modeste.

    2 - Tu fais le traitement côté serveur. Dans ce cas, tu as besoin de submitter ton form quand l'utilisateur choisit un nouvel item (utilisation de l'événement onchange() sur le select). Dans ce cas, tu récupères dans ton action de submit (ou plutot dans l'action définie comme l'"input" de ton action) un attribut de ton bean qui t'indique que tu veux recharger la page sans rechargement des données de la base de données (en gros, tu laisses les données saisies telles quelles, normal, on est en validation, inutile de recharger toutes les données en base, on veut avoir les données saisies par l'utilisateur), puis tu populates ton form en fonction du premier champ saisi, en modifiant les items de ta liste.

    Tout ca est un peu confus, mais je n'ai jamais réussi à expliquer ces choses-là en un seul post. Dis-moi ce qui te pose problème, je préciserai ce qu'il faut.

  3. #3
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut
    tu peux aussi jeter un coupd d'oeil ici

    La FAQ Struts de Developpez.com explique comment coder une DropDown List. D'après ce que j'ai compris, il me semble que c'est ce que tu veux faire.
    Tout à une fin, sauf le saucisson qui en as 2.
    -----------------

  4. #4
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut pb
    pour eclaircir un petit peu ma situation ,ce projet est tout dabord un pfe d'une autre personne dont nous avons la taches de le terminer mais le probleme est que je n'ai jamais travailler en java
    donc je suis juste un debutant.
    pour l'aplli c ke jai la possibilité de retourner ds ma liste juste tt les les fiches d'evaluations qui sont ds ma bdd mais pas de les filtré daprés le nom du projet
    (mon encadrant ma dit de faire du js en construisant un tableau 2D ou je mais ds les lignes les projets et ds les collones les fiches,mais je ne sais pas comment faire , c un peu ,dire bq, flou pour moi).
    mais pour moi l'idée qui mest venue est de recuperer l'element selectionné ds la liste projet et puis effectuer une requetes pour recuperer les element de la liste fiche eval. ou peut etre utiliser les jstl <sql>, c des idées mais je ne sais pas commet les exploité.
    svp aider moi
    pour info:
    ma table evaluation correspondante à ma evaluationform.jsp contient idprojet et idfiche_eval
    ma table ficheevaluation contient idprojet.
    merci de votre aide.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Merci de ces précisions.
    As-tu essayé l'une des solutions que je proposais ?
    Sinon, peux-tu nous poster les divers messages d'erreur que tu obtiens ?
    De manière générale, avec Struts 1.2 (je ne connais pas ta version), l'utilisation de <html:optionsCollection> est généralement plus appropriée.

  6. #6
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    merci de me répondre
    g compris tes solutions mais je ne sais pas comment les coder ,
    si tu veux bien regarder cette solution http://java.developpez.com/faq/strut...=list#DropDown
    et me dire si le submit ici est prédifinis et elle fait koi svp ??

    si tu ve bien m'eclaircir stp les choses avec du code et si ta besoin de tajouter nimporte kel infos pour que ca devient clair pour toi mon pb tu me le dis.
    et merci bq

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Le lien de CPI t'indique comment submitter ton premier form quand l'utilisateur renseigne la valeur de la première combo.

    Dans ton action Struts destinataire, il faut que tu récupères la valeur de cette combo (le "property" de ton html:select), que tu récupères les données en base correspondant à cette valeur (par exemple récupérer tous les départements/régions d'un pays sélectionné), et que tu remplisses une collection de départements/pays/ske tu veux, qui contient toutes les données nécessaires à l'affichage de ta liste.
    Donc, dans ton form, tu as, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private List taListe = new ArrayList();
    (avec les accesseurs correpondants) et, dans ton action toujours, tu récupères la valeur de ta première combo (myForm.getProjetId()) et tu génères toutes les valeurs (ID + libellés) de ta deuxième combo, puis tu forwardes vers ton input (défini pour ton action dans ton struts-config), par exemple, si c'est ton formulaire.

    Essaie de faire ca, et dis nous où tu rencontres des problèmes.

  8. #8
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    g honte de le dire mais g pas su comment le faire
    svp excusez moi mais voila le code est grace a ca aidez moi svp:
    evaluationaction:

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    package org.appfuse.webapp.action;
     
    import java.text.DateFormat;
    import java.util.Date;
    import java.util.List;
    import java.util.Locale;
    import java.lang.Float;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
    import org.appfuse.Constants;
    import org.appfuse.model.DomaineProcessus;
    import org.appfuse.model.Evaluation;
    import org.appfuse.model.FicheEvaluation;
    import org.appfuse.model.Indicateur;
    import org.appfuse.model.NiveauCMMI;
    import org.appfuse.model.Objectif;
    import org.appfuse.model.Projet;
    import org.appfuse.model.Pratique;
    import org.appfuse.service.DomaineProcessusManager;
    import org.appfuse.service.EvaluationManager;
    import org.appfuse.service.FicheEvaluationManager;
    import org.appfuse.service.IndicateurManager;
    import org.appfuse.service.NiveauCMMIManager;
    import org.appfuse.service.ObjectifManager;
    import org.appfuse.service.ProjetManager;
    import org.appfuse.service.PratiqueManager;
    import org.appfuse.webapp.form.EvaluationForm;
    import org.appfuse.webapp.form.NiveauCMMIForm;
    //import org.appfuse.webapp.form.ProjetForm;
    //import org.appfuse.webapp.form.PratiqueForm;
    import org.appfuse.webapp.form.ObjectifForm;
     
    /**
     * @struts.action name="evaluationForm" path="/editEvaluation" scope="request"
     * validate="false" parameter="method" input="mainMenu"
     *
     * @struts.action name="evaluationForm" path="/saveEvaluation" scope="request"
     * validate="true" parameter="method" input="edit"
     *
     * @struts.action-forward name="list" path="/WEB-INF/pages/evaluationList.jsp"
     * @struts.action-forward name="edit" path="/WEB-INF/pages/evaluationForm.jsp"
     */
    public class EvaluationAction extends BaseAction{
     
    	public ActionForward cancel(ActionMapping mapping, ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response)
    	throws Exception {
    		return mapping.findForward("viewEvaluations");
    	}
     
    	public ActionForward delete(ActionMapping mapping, ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response)
    	throws Exception {
    		if (log.isDebugEnabled()) {
    			log.debug("Entering 'delete' method");
    		}
     
    		ActionMessages messages = new ActionMessages();
    		EvaluationForm evaluationForm = (EvaluationForm) form;
     
    		// Exceptions are caught by ActionExceptionHandler
    		EvaluationManager mgr = (EvaluationManager) getBean("evaluationManager");
    		mgr.removeEvaluation(evaluationForm.getId());
     
    		messages.add(ActionMessages.GLOBAL_MESSAGE,
    				new ActionMessage("evaluation.deleted"));
     
    		// save messages in session, so they'll survive the redirect
    		saveMessages(request.getSession(), messages);
     
    		return mapping.findForward("viewEvaluations");
    	}
     
    	public ActionForward edit(ActionMapping mapping, ActionForm form,
              HttpServletRequest request,
              HttpServletResponse response)
    	throws Exception {
    		if (log.isDebugEnabled()) {
    			log.debug("Entering 'edit' method");
    		}
     
    		EvaluationForm evaluationForm = (EvaluationForm) form;
     
    		// if an id is passed in, look up the user - otherwise
    		// don't do anything - user is doing an add
    		if (evaluationForm.getId() != null) {
    			EvaluationManager mgr = (EvaluationManager) getBean("evaluationManager");
    			Evaluation evaluation = mgr.getEvaluation(evaluationForm.getId());
    			evaluationForm = (EvaluationForm) convert(evaluation);
    			updateFormBean(mapping, request, evaluationForm);
    		}
     
    		return mapping.findForward("edit");
    	}
     
    	public ActionForward save(ActionMapping mapping, ActionForm form,
              HttpServletRequest request,
              HttpServletResponse response)
    	throws Exception {
    		if (log.isDebugEnabled()) {
    			log.debug("Entering 'save' method");
    		}
     
    		// Extract attributes and parameters we will need
    		ActionMessages messages = new ActionMessages();
    		EvaluationForm evaluationForm = (EvaluationForm) form;
    		boolean isNew = ("".equals(evaluationForm.getId()));
     
    		if (log.isDebugEnabled()) {
    			log.debug("saving evaluation: " + evaluationForm);
    		}
     
    		//code ajouté pour calculer la moyenne
    		String affirmation ;
    		String direct = null;
    		String indirect = null;
    		String faiblesse = null;
    		float moyenne;
     
    		affirmation = evaluationForm.getCritereAffirmation();
    		direct = evaluationForm.getCritereDirectArtifact();
    		indirect = evaluationForm.getCritereIndirectArtifact();
    		faiblesse = evaluationForm.getCritereFaiblesse();
     
    		moyenne = calculerMoyenne(affirmation,direct,indirect,faiblesse);
    		evaluationForm.setMoyenne(Float.toString(moyenne));
     
    		//System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"+moyenne+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
    		//fin code ajouté
     
    		//code ajouté pour insérer la date système
    		Locale locale = Locale.getDefault();
    		DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT, locale);
    		Date maDate = new Date();
    		evaluationForm.setDateEvaluation(dateFormat.format(maDate));
    		//fin du code ajouté
     
    		EvaluationManager mgr = (EvaluationManager) getBean("evaluationManager");
    		Evaluation evaluation = (Evaluation) convert(evaluationForm);
    		mgr.saveEvaluation(evaluation);
     
    		// add success messages
    		if (isNew) {
    			messages.add(ActionMessages.GLOBAL_MESSAGE,
    					new ActionMessage("evaluation.added"));
     
    			// save messages in session to survive a redirect
    			saveMessages(request.getSession(), messages);
     
    			return mapping.findForward("viewEvaluations");
    		} else {
    			messages.add(ActionMessages.GLOBAL_MESSAGE,
         	new ActionMessage("evaluation.updated"));
    			saveMessages(request, messages);
     
    			return mapping.findForward("edit");
    		}
    	}
     
    	public ActionForward search(ActionMapping mapping, ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response)
    	throws Exception {
    		if (log.isDebugEnabled()) {
    			log.debug("Entering 'search' method");
    		}
     
    		EvaluationManager mgr = (EvaluationManager) getBean("evaluationManager");
    		List evaluations = mgr.getEvaluations(null);
    		request.setAttribute(Constants.EVALUATION_LIST, evaluations);
     
    		//ajouté
     
    		//pour avoir l'idpratique pour une évaluation
    		EvaluationManager evaluationManager = (EvaluationManager) getBean("evaluationManager");
    		Evaluation   evaluation = new Evaluation();
    		List evals = evaluationManager.getEvaluations(null);
    		evals.add(evaluation);
    		EvaluationForm evaluationForm0 = (EvaluationForm)form;
    		evaluationForm0.setEvals(evals);
    		//evaluationForm0.setFiches(evals);
    		request.getSession().setAttribute("evals", evals);
     
    		//fin de ce test
     
    		FicheEvaluationManager ficheEvaluationManager=(FicheEvaluationManager)getBean("ficheEvaluationManager");
    		FicheEvaluation   ficheEvaluation = new FicheEvaluation();
    		List fiches= ficheEvaluationManager.getFiches(null);
    		fiches.add(ficheEvaluation);
    		EvaluationForm evaluationForm = (EvaluationForm)form;
    		evaluationForm.setFiches(fiches);
    		request.getSession().setAttribute("fiches", fiches);
     
    		// test niveau
    		NiveauCMMIManager niveauCMMIManager=(NiveauCMMIManager)getBean("niveauCMMIManager");
    		NiveauCMMI   niveau = new NiveauCMMI();
    		List niveaux = niveauCMMIManager.getNiveaux(null);
    		niveaux.add(niveau);
    		EvaluationForm evaluationForm3 = (EvaluationForm)form;
    		evaluationForm3.setPratiques(niveaux);
    		request.getSession().setAttribute("niveaux", niveaux);
    		//fin du test
     
    		PratiqueManager pratiqueManager=(PratiqueManager)getBean("pratiqueManager");
    		Pratique   pratique = new Pratique();
    		List pratiques= pratiqueManager.getPratiques(null);
    		pratiques.add(pratique);
    		EvaluationForm evaluationForm2 = (EvaluationForm)form;
    		evaluationForm2.setPratiques(pratiques);
    		request.getSession().setAttribute("pratiques", pratiques);
     
    		//objectif
    		ObjectifManager objectifManager=(ObjectifManager)getBean("objectifManager");
    		Objectif   objectif = new Objectif();
    		List objectifs= objectifManager.getObjectifs(null);
    		objectifs.add(objectif);
    		EvaluationForm evaluationForm4 = (EvaluationForm)form;
    		evaluationForm4.setObjectifs(objectifs);
    		request.getSession().setAttribute("objectifs", objectifs);
    		//fin objectif
     
    		//domaine de processus
    		DomaineProcessusManager domaineProcessusManager=(DomaineProcessusManager)getBean("domaineProcessusManager");
    		DomaineProcessus   domaineProcessus = new DomaineProcessus();
    		List domaines= domaineProcessusManager.getDomaines(null);
    		domaines.add(domaineProcessus);
    		EvaluationForm evaluationForm5 = (EvaluationForm)form;
    		evaluationForm5.setDomaines(domaines);
    		request.getSession().setAttribute("domaines", domaines);
    		//fin domaine
     
    		//indicateur d'une pratique
     
    		//fin indicateur d'une pratique
     
    		IndicateurManager indicateurManager=(IndicateurManager)getBean("indicateurManager");
    		Indicateur   indicateur = new Indicateur();
    		List indicateurs= indicateurManager.getIndicateurs(null);
    		indicateurs.add(indicateur);
    		EvaluationForm evaluationForm1 = (EvaluationForm)form;
    		evaluationForm1.setIndicateurs(indicateurs);
    		request.getSession().setAttribute("indicateurs", indicateurs);
     
    		ProjetManager projetManager=(ProjetManager)getBean("projetManager");
    		Projet   projet = new Projet();
     
    		List projets= projetManager.getProjets(null);
    		//List projets=  new ArrayList();
    		projets.add(projet);
    		//EvaluationForm evaluationForm = (EvaluationForm)form;
    		evaluationForm.setProjets(projets);
    		request.getSession().setAttribute("projets", projets);
    		//ajouté
     
    		// return a forward to the person list definition
    		return mapping.findForward("list");
    	}
    evaluationForm:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    package org.appfuse.webapp.form;
     
    import javax.servlet.http.HttpServletRequest;
     
    import org.apache.struts.action.ActionMapping;
    import org.appfuse.webapp.form.BaseForm;
     
    /**
     * Generated by XDoclet/actionform. This class can be further processed with XDoclet/webdoclet/strutsconfigxml and XDoclet/webdoclet/strutsvalidationxml.
     *
     * @struts.form name="evaluationForm" 
     */
    public class EvaluationForm
        extends    BaseForm
        implements java.io.Serializable
    {
     
        protected String id;
     
        protected String critereAffirmation;
     
        protected String critereDirectArtifact;
     
        protected String critereFaiblesse;
     
        protected String critereIndirectArtifact;
     
        protected String dateEvaluation;
     
        protected String moyenne;
     
        protected String ficheId;
     
        protected String projetId;
     
        protected String pratiqueId;
     
        protected transient java.util.List fiches = new java.util.ArrayList();
     
        protected transient java.util.List indicateurs = new java.util.ArrayList();
     
        protected transient java.util.List pratiques = new java.util.ArrayList();
     
        protected transient java.util.List evals = new java.util.ArrayList();
     
        protected transient java.util.List objectifs = new java.util.ArrayList();
     
        protected transient java.util.List domaines = new java.util.ArrayList();
     
        protected transient java.util.List projets = new java.util.ArrayList();
     
        protected String objectifId;
     
        /** Default empty constructor. */
        public EvaluationForm() {}
     
        public String getId()
        {
            return this.id;
        }
       /**
        */
     
        public void setId( String id )
        {
            this.id = id;
        }
     
        public String getCritereAffirmation()
        {
            return this.critereAffirmation;
        }
       /**
        * @struts.validator type="required"
        */
     
        public void setCritereAffirmation( String critereAffirmation )
        {
            this.critereAffirmation = critereAffirmation;
        }
     
        public String getCritereDirectArtifact()
        {
            return this.critereDirectArtifact;
        }
       /**
        * @struts.validator type="required"
        */
     
        public void setCritereDirectArtifact( String critereDirectArtifact )
        {
            this.critereDirectArtifact = critereDirectArtifact;
        }
     
        public String getCritereFaiblesse()
        {
            return this.critereFaiblesse;
        }
       /**
        * @struts.validator type="required"
        */
     
        public void setCritereFaiblesse( String critereFaiblesse )
        {
            this.critereFaiblesse = critereFaiblesse;
        }
     
        public String getCritereIndirectArtifact()
        {
            return this.critereIndirectArtifact;
        }
       /**
        * @struts.validator type="required"
        */
     
        public void setCritereIndirectArtifact( String critereIndirectArtifact )
        {
            this.critereIndirectArtifact = critereIndirectArtifact;
        }
     
        public String getDateEvaluation()
        {
            return this.dateEvaluation;
        }
       /**
        */
     
        public void setDateEvaluation( String dateEvaluation )
        {
            this.dateEvaluation = dateEvaluation;
        }
     
        public String getMoyenne()
        {
            return this.moyenne;
        }
       /**
        */
     
        public void setMoyenne( String moyenne )
        {
            this.moyenne = moyenne;
        }
     
        public String getFicheId()
        {
            return this.ficheId;
        }
       /**
        */
     
        public void setFicheId( String ficheId )
        {
            this.ficheId = ficheId;
        }
     
        public String getProjetId()
        {
            return this.projetId;
        }
       /**
        */
     
        public void setProjetId( String projetId )
        {
            this.projetId = projetId;
        }
     
        public String getPratiqueId()
        {
            return this.pratiqueId;
        }
       /**
        */
     
        public void setPratiqueId( String pratiqueId )
        {
            this.pratiqueId = pratiqueId;
        }
     
        public java.util.List getFiches()
        {
            return this.fiches;
        }
       /**
        */
     
        public void setFiches( java.util.List fiches )
        {
            this.fiches = fiches;
        }
     
        public java.util.List getIndicateurs()
        {
            return this.indicateurs;
        }
       /**
        */
     
        public void setIndicateurs( java.util.List indicateurs )
        {
            this.indicateurs = indicateurs;
        }
     
        public java.util.List getPratiques()
        {
            return this.pratiques;
        }
       /**
        */
     
        public void setPratiques( java.util.List pratiques )
        {
            this.pratiques = pratiques;
        }
     
        public java.util.List getEvals()
        {
            return this.evals;
        }
       /**
        */
     
        public void setEvals( java.util.List evals )
        {
            this.evals = evals;
        }
     
        public java.util.List getObjectifs()
        {
            return this.objectifs;
        }
       /**
        */
     
        public void setObjectifs( java.util.List objectifs )
        {
            this.objectifs = objectifs;
        }
     
        public java.util.List getDomaines()
        {
            return this.domaines;
        }
       /**
        */
     
        public void setDomaines( java.util.List domaines )
        {
            this.domaines = domaines;
        }
     
        public java.util.List getProjets()
        {
            return this.projets;
        }
       /**
        */
     
        public void setProjets( java.util.List projets )
        {
            this.projets = projets;
        }
     
        public String getObjectifId()
        {
            return this.objectifId;
        }
       /**
        * @struts.validator type="required"
        */
     
        public void setObjectifId( String objectifId )
        {
            this.objectifId = objectifId;
        }
     
        public void setFiches(int index, Object o) {
            this.fiches.set(index, o);
        }
     
        public void setIndicateurs(int index, Object o) {
            this.indicateurs.set(index, o);
        }
     
        public void setPratiques(int index, Object o) {
            this.pratiques.set(index, o);
        }
     
        public void setEvals(int index, Object o) {
            this.evals.set(index, o);
        }
     
        public void setObjectifs(int index, Object o) {
            this.objectifs.set(index, o);
        }
     
        public void setDomaines(int index, Object o) {
            this.domaines.set(index, o);
        }
     
        public void setProjets(int index, Object o) {
            this.projets.set(index, o);
        }
     
            /* To add non XDoclet-generated methods, create a file named
               xdoclet-EvaluationForm.java 
               containing the additional code and place it in your metadata/web directory.
            */
        /**
         * @see org.apache.struts.action.ActionForm#reset(org.apache.struts.action.ActionMapping,
         *                                                javax.servlet.http.HttpServletRequest)
         */
        public void reset(ActionMapping mapping, HttpServletRequest request) {
            // reset any boolean data types to false
     
            this.fiches = org.apache.commons.collections.ListUtils.lazyList(new java.util.ArrayList(), new ObjectFactory("Fiche"));
     
            this.indicateurs = org.apache.commons.collections.ListUtils.lazyList(new java.util.ArrayList(), new ObjectFactory("Indicateur"));
     
            this.pratiques = org.apache.commons.collections.ListUtils.lazyList(new java.util.ArrayList(), new ObjectFactory("Pratique"));
     
            this.evals = org.apache.commons.collections.ListUtils.lazyList(new java.util.ArrayList(), new ObjectFactory("Eval"));
     
            this.objectifs = org.apache.commons.collections.ListUtils.lazyList(new java.util.ArrayList(), new ObjectFactory("Objectif"));
     
            this.domaines = org.apache.commons.collections.ListUtils.lazyList(new java.util.ArrayList(), new ObjectFactory("Domaine"));
     
            this.projets = org.apache.commons.collections.ListUtils.lazyList(new java.util.ArrayList(), new ObjectFactory("Projet"));
     
        }
     
        /**
         * <code>ObjectFactory</code> - used if indexed properties exist on this form.
         *
         * @see org.apache.commons.collections.ListUtils
         */
        class ObjectFactory implements org.apache.commons.collections.Factory {
            private String name;
            /**
             * Create a new instance of the specified object
             */
            public Object create() {
                Class c = null;
                try {
                    c = Class.forName("org.appfuse.webapp.form." + name + "Form");
                    return c.newInstance();
                } catch (Exception e) {
                    System.err.println("Error instantiating class: " + c.getName());
                    throw new RuntimeException(e);
                }
            }
            public ObjectFactory(String name) {
                this.name = name;
            }
        }
    }
    evaluationform.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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    <body id="corps">
     
     
                <table width="1058" border="0">
                  <tr>
                    <td width="183" height="271"><p align="center">&nbsp;</p>
                      <p><img src="images/visuel.jpg" alt=" " width="173" height="223" /></p>
                      <p>&nbsp;</p>
                    </td>
                    <td width="571">
    				<table width="736" height="450" onmouseover="fermerMenu()" id="contenu" summary="page" >
                        <tr>
                          <td width="673" height="250" id="contenu_middle"><blockquote>
                            <p><img src="images/fleche02.gif" width="28" height="15" />
                              <span class="Style10"> Evaluation des pratiques </span>                        </p>
    						 <!--debut-->
    <FORM  id=evaluation onsubmit="return validateEvaluationForm(this)" action="/cmmi/saveEvaluation.html" method="post" name="myform" >
    						<html:hidden property="id"/>
                            <table width="610" height="214" border="0">
                              <tr>
                                <td height="8">Projet </td>
                                <td height="13" colspan="3">
     
    							<html:select property="projetId" onchange="Change(this.form)">
    							<html:option value="(Choisissez)"/>	
    	        						<html:options   collection="projets" property="id" labelProperty="nomProjet" />
                     				</html:select>							</td>
                              </tr>
    						  <tr>
    						    <td width="183" height="20">P	</td>
    							<td colspan="2">
    							<SELECT NAME="P">
                                <OPTION value="sa">sa</OPTION>
                                <OPTION value="sa">sa</OPTION>
                                <OPTION></OPTION>
                                </SELECT>
    							</td>	
    						  </tr>
                              <tr>
                                <td height="8">fiche d'&eacute;valuation </td>
                                <td height="13" colspan="3">
     
    							<html:select  property="ficheId">
    							<html:option value="(Choisissez)"/>	
    	        						<html:options   collection="fiches" property="id" labelProperty="nomFiche" />
                     				</html:select>							</td>
                              </tr>
    						  <tr>
                                <td height="8">Objectif </td>
                                <td height="13" colspan="3">
     
    							<html:select  property="objectifId">
    							<html:option value="(Choisissez)"/>	
    	        						<html:options   collection="objectifs" property="id" labelProperty="abreviation" />
                     				</html:select>							</td>
                              </tr>
                              <tr>
                                <td height="9">pratique</td>
                                <td colspan="3"><html:select property="pratiqueId">	
    							    <html:option value="(Choisissez)"/>
    	        					<html:options   collection="pratiques" property="id" labelProperty="abreviation" />
                     			</html:select>	</td>
                              </tr>
                              <tr>
                                <td height="24">
    							<cmmi:label styleClass="desc" key="evaluationForm.critereDirectArtifact"/>
            <html:errors property="critereDirectArtifact"/>							</td>
                                <td width="153" height="24">
    							<html:select property="critereDirectArtifact">	
    								<html:option value="approprié">approprié</html:option>	
    								<html:option value="inadéquat">inadéquat</html:option>
    								<html:option value="absent">absent</html:option>
    							</html:select>							</td>
                                <td width="72"><img src="images/question.gif"  width="13" height="15" /></td>
                                <td width="185">
     
    							<c:out value="${evaluationForm.indicateurs}" default="Inconnu"/>
                        <!--input   name="pratiques[<c:out value='${index.index}'/>].description" value="<c:out value="${pratique.description}"/>" /-->							</td>
                              </tr>
                              <tr>
                                <td height="18">
    							<cmmi:label styleClass="desc" key="evaluationForm.critereIndirectArtifact"/>
            <html:errors property="critereIndirectArtifact"/>							</td>
                                <td height="18">
    							<html:select property="critereIndirectArtifact">	
    								<html:option value="enregistré">enregistré</html:option>	
    								<html:option value="identifié">identifié</html:option>
    								<html:option value="absent">absent</html:option>
    							</html:select>							</td>
                                <td height="18" colspan="2"><img src="images/question.gif" width="13" height="15" /></td>
                              </tr>
                              <tr>
                                <td height="20">
    							<cmmi:label styleClass="desc" key="evaluationForm.critereAffirmation"/>
            <html:errors property="critereAffirmation"/>							</td>
                                <td height="20" colspan="3">
    							<html:select property="critereAffirmation">	
    								<html:option value="enregistré">enregistré</html:option>	
    								<html:option value="identifié">identifié</html:option>
    								<html:option value="absent">absent</html:option>
    							</html:select>							</td>
                              </tr>
                              <tr>
                                <td height="23">
    							<cmmi:label styleClass="desc" key="evaluationForm.critereFaiblesse"/>
            <html:errors property="critereFaiblesse"/>							</td>
                                <td height="23" colspan="3">
    							<html:select property="critereFaiblesse">	
    								<html:option value="enregistré">enregistré</html:option>	
    								<html:option value="identifié">identifié</html:option>
    								<html:option value="absent">absent</html:option>
    							</html:select>							</td>
                              </tr>
                              <tr>
                                <td height="25">
    							<cmmi:label styleClass="desc" key="evaluationForm.dateEvaluation"/>
            <html:errors property="dateEvaluation"/>							</td>
                                <td height="25" colspan="3">
    							  <span class="Style14">
    							  <!--html:text property="dateEvaluation" styleId="dateEvaluation" styleClass="text medium"/-->
    							  <script language="javascript">
    							today = new Date();
    							document.write(today.getDate(),"/",today.getMonth()+1,"/",today.getYear());</script>
    							  </span></td>
                              </tr>
                              <tr>
                                <td height="15" colspan="4">
    							<label class="buttonBar bottom">
            <html:submit styleClass="button" property="method.save" onclick="bCancel=false">
                <fmt:message key="button.save"/>
            </html:submit>
     
            <html:submit styleClass="button" property="method.delete" onclick="bCancel=true; return confirmDelete('Evaluation')">
                <fmt:message key="button.delete"/>
            </html:submit>
     
            <html:cancel styleClass="button" onclick="bCancel=true">
                <fmt:message key="button.cancel"/>
            </html:cancel>
        </label>							</td>
                              </tr>
                            </table>
    </FORM>

  9. #9
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    bonjour
    s'il vous plait , aidez moi.
    merci

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Il faudrait que tu nous dises où réside ton problème.
    - Visiblement tu gères déjà le submit sur le onchange de ta combo (tu confirmes ?).
    - Ton action ressemble à une DispatchAction, mais dérive de BaseAction. Question : BaseAction est-elle bien une sous-classe de DispatchAction ?
    - Si tu utilises une DispatchAction, tu dois mettre à jour un champ caché pour chaque type d'action, le fais-tu aussi pour le rechargement de ta combo ? (dans ta fonction JS "Change()"). Ca te sera utile dans ton action, pour détecter que tu veux simplement recharger ta combo, et non toutes les données.

    Voilà, mais l'important, si tu veux que l'on t'aide, c'est de décrire précisément ton problème, avec des logs/traces, le comportement de ton appli, etc..., parce que là, il est difficile de te guider sans savoir où tu en es.

Discussions similaires

  1. [LibreOffice][Base de données] Recuperer une liste de tables et une liste de champs d'une table sur LibreOffice & OpenOffice
    Par gerard.sauvage dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 08/04/2014, 12h35
  2. liste deroulante générée par une autre
    Par xargin dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/08/2011, 10h07
  3. Réponses: 9
    Dernier message: 24/02/2010, 11h58
  4. [Debutant]Remplacer une liste de valeur par une liste de val
    Par Sebbo dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 31/03/2006, 12h15
  5. Réponses: 14
    Dernier message: 29/04/2005, 11h59

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