je trouve une difficulté de passer les valeurs des champs saisie dans mon jsp vers ma classe form pour les utiliser dans la classe action.
tj je récupère mes champs avec valeure null.
je trouve une difficulté de passer les valeurs des champs saisie dans mon jsp vers ma classe form pour les utiliser dans la classe action.
tj je récupère mes champs avec valeure null.
mon jsp"RetirerDde.jsp"Envoyé par c_nvy
ma struts-config.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <html:form action="/retirerdde"> ... <input type="text" name="AnUniv" value="<%=MonRS.getInt(1)%>" size="4" readonly="readonly"> ... <select name="TypDde" size="1"> ... <html:submit><bean:message key = "bouton.enregistrer"/></html:submit>
ma classe form "RetirerDdeForm.java"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <form-bean name="RetirerDdeForm" type="GestionDemande.RetirerDdeForm"/> ... <action path="/retirerdde" type="GestionDemande.RetirerDdeAction" name="RetirerDdeForm" scope="request" input="/JSP/GestDemande/RetirerDde.jsp" validate="true"> <forward name="success" path="/JSP/Home.jsp"/> <forward name="failure" path="/JSP/GestDemande/RetirerDde.jsp"/> <forward name="cancel" path="/JSP/Home.jsp"/> </action>
ma classe action "RetirerDdeAction.java"
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 package GestionDemande; import javax.servlet.http.*; import org.apache.struts.action.*; import org.apache.struts.validator.*; /** * Title: Gestion des prêts universitaires * Description: Retirer demande Form * Copyright: Copyright (c) 2006 * Company: ISC * @author Mohamed AMINE OSMAN * @version 1.0 */ public class RetirerDdeForm extends ActionForm { private Integer AnUniv; private String TypDde; public void reset(ActionMapping mapping,HttpServletRequest request){ super.reset(mapping,request); } public void setAnUniv(Integer AnUniv){ this.AnUniv=AnUniv; } public Integer getAnUniv(){ return this.AnUniv; } public void setTypDde(String TypDde){ this.TypDde = TypDde; } public String getTypDde(){ return this.TypDde; } public ActionErrors validate(ActionMapping mapping, HttpServletRequest request ) { ActionErrors errors = new ActionErrors(); System.out.println(AnUniv); System.out.println(TypDde); if(AnUniv == 0 || Integer.toString(AnUniv).trim().length() < 1 ) { errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("errors.anneeUniversitaireVide")); return errors; } } }
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 package GestionDemande; import Cnrps.DEMANDERETIREE; import DbConnection.DbBean; import java.sql.ResultSet; import javax.servlet.*; import javax.servlet.http.*; import org.apache.struts.action.*; import javax.servlet.ServletException; import java.io.*; import java.util.*; /** * Title: Gestion des prêts universitaires * Description: Retirer demande Action * Copyright: Copyright (c) 2006 * Company: ISC * @author Mohamed AMINE OSMAN * @version 1.0 */ public class RetirerDdeAction extends Action { private final static String SUCCESS = "success"; private final static String CANCEL = "cancel"; private final static String FAILURE = "failure"; public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws Exception,ServletException{ RetirerDdeForm MyForm = (RetirerDdeForm) form; Integer AnUniv = MyForm.getAnUniv(); String TypDde = MyForm.getTypDde(); String codestructure = "1"; Integer nombredemande=0; Boolean existe=false; String MonSQL=null; ResultSet MonRS; if(isCancelled(request)) { return mapping.findForward(CANCEL); } ActionErrors errors = new ActionErrors(); DbBean dbb = new DbBean(); dbb.Connect(); MonSQL = "select NOMBREDEMANDE from DEMANDERETIREE where ANNEEUNIVERSITAIRE = " + AnUniv + " and CODETYPEDEMANDE = '" + TypDde + "' and CODESTRUCTURE = '" + codestructure + "'"; System.out.println(MonSQL); MonRS = dbb.execMonSQL(MonSQL); if(MonRS.next()) { existe=true; nombredemande = MonRS.getInt(1); } nombredemande++; DEMANDERETIREE demanderetiree = new DEMANDERETIREE(); demanderetiree.setCodeTypeDemande(TypDde); demanderetiree.setAnneeUniversitaire(AnUniv); demanderetiree.setNombreDemande(nombredemande); demanderetiree.setCodeStructure(codestructure); if(existe) { demanderetiree.Modifier(); } else { demanderetiree.Inserer(); } return mapping.findForward(SUCCESS); } }
Il faut respecter les conventions de nommage java.
Les propriétés doivent commencer par une minuscule, et si composées de plusieurs mots, une majuscule à chaque nouveau mot.
Essaie en renommant les propriétés AnUniv et TypDde en anUniv et typDde dans la jsp et l'ActionForm.![]()
les balises <html:text property="anUniv"> et <html:select property="typDde">(pour ton exemple) peuvent-etre très pratique.
elle permette de savoir automatiquement si la valeur definit dans "property" correspond bien à un attribut dans ton form.
je vient de modifier mon code et ça marche impeccables.Envoyé par marieR
mille merci, j'ai honte de moi. c'est une faute de frape.Envoyé par c_nvy
Partager