bonsoir c_nvy
je suis vraiment perdu et j'ai besoin de votre aide
voila ce que j'ai fais :
voici 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
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 <html:form action="/recep.do" method="post"> <table border="0"> <tr> <td>Fournisseur:</td> <td> <html:select property="fournisseur" > <html:option value=""></html:option> <html:options property="nomFournisseur"/> </html:select> <nested:nest property="recep"> <td> <nested:select property="article" onchange="document.recepForm.submit();"> <nested:options property ="nomArticle"/> </nested:select> </td> <td> <nested:text property="ND" maxlength="15" ></nested:text> </td> <td> <nested:text property="NF" maxlength="15"></nested:text> </td> <td> <logic:equal name="recepForm" property="type" value="SIMPOST"> <nested:select property="profil" disabled="false"> <nested:options property ="nomProfil"></nested:options> </nested:select> </logic:equal> <logic:notEqual name="recepForm" property="type" value="SIMPOST"> <nested:select property="profil" disabled="true"> <nested:options property ="nomProfil"/> </nested:select> </logic:notEqual> </td> </nested:nest> </tr> </table> <html:link page="/recep1.do">Ajouter une ligne</html:link> <br/> <br/> <table border="1" width="100%|20"> <tr> <th>Article</th> <th>Numéro de série début</th> <th>Numéro de série fin</th> <th>Profil</th> <th>Quantité</th> </tr> <nested:root name="recepForm"> <nested:iterate property="recepList"> <tr> <td><nested:write property="article"/></td> <td><nested:write property="ND"/></td> <td><nested:write property="NF"/></td> <td><nested:write property="profil"/></td> </tr> </nested:iterate> </nested:root> </table> <html:submit>tester</html:submit> </html:form>
j'ai crée une action pour l' initialiser , elle me remplis les 3 combo voici son code:
quand je fais un select dans le 1er combo l'action "recep" est exécuté,elle prend la valeur de l'article selectionné ,elle récupèr son type depuis la base
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 //je récupère le contenu des combo depuis la base recepForm.setNomFournisseur(listFournisseur); request.getSession().setAttribute( "listFournisseur",listFournisseur); request.getSession().setAttribute( "listArticle",listArticle); request.getSession().setAttribute( "listProfil",listProfil); recep.setNomArticle(listArticle); recep.setNomProfil(listProfil); recepForm.setRecep(recep); return mapping.findForward("preparer1"); //vers ma jsp
ensuit si le type ="x" le 2eme combo est activé sinon ,il reste désactivé
le code de cette action est le suivant:
j'ai met le contenu des combo dans le"request" pour réaffrichir la jsp avec
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 Recep recep=recepForm.getRecep(); String article = recep.getArticle() ; rs=st.executeQuery("Select ART_TYPE_LIBELLE from GSS_ARTICLE,GSS_ARTICLE_TYPE where (GSS_ARTICLE.ART_TYPE_ID=GSS_ARTICLE_TYPE.ART_TYPE_ID) and (GSS_ARTICLE.ART_ART_LIBELLE='"+article+"')"); while (rs.next()) { type= rs.getString(1).trim(); System.out.println(type); recepForm.setType(type); } listFournisseur=(ArrayList)request.getSession().getAttribute("listFournisseur"); listArticle=(ArrayList)request.getSession().getAttribute("listArticle"); listProfil=(ArrayList)request.getSession().getAttribute("listProfil"); recepForm.setNomFournisseur(listFournisseur); recep.setNomArticle(listArticle); recep.setNomProfil(listProfil); recepForm.setRecep(recep); return mapping.findForward("test"); // forward toujour vers la meme jsp pour la réaffrichir
ensuit quand je choisis un article(une valeur du combo)
et le profil (une valeur du combo) et je remplis les 2 champs de text(nd)et(nf)
et le clique sur le lien "ajouter" l'action "recep1" s'exécute :elle prend les vals que j'ai cité et elle les met dans un tableau
voici son code:
au début il n'ajoutais pas ce que j'ai saisi dans le tableau ensuite quand vous m'avez ditez d'ajouter "session"dans le scope de l'action "recep1" je l'ai fais mais il m'affiche :
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 Recep recep= recepForm.getRecep(); recepList= recepForm.getRecepList() ; recepList.add(recep); return mapping.findForward("test"); //vers la meme jsp listFournisseur=(ArrayList)request.getSession().getAttribute("listFournisseur"); listArticle=(ArrayList)request.getSession().getAttribute("listArticle"); listProfil=(ArrayList)request.getSession().getAttribute("listProfil"); recepForm.setNomFournisseur(listFournisseur); recep.setNomArticle(listArticle); recep.setNomProfil(listProfil);
Property nomFournisseur returned a null value
ensuit
j'ai fais "session" dans le scope des 3 action que j'ai cité
alors il m'insère dans le tableau mais juste ce que je selectionne dans les combo et le contenu des champs de txt non !!!!!!
une autre anomalie :
quand je selectionne un article ds le combo"article" alors l'action"recep" s'exécute ,normalement ce qui dois se passer c'est que le 2eme combo soit il deviens activé soit désactivé
mais en plus de ça ce qui se passe c'est que les dernières lignes du tableau change et prend comme valeur ce que j'ai selectionné ds le combo avant meme que je clique sur le lien "ajouter"
je ne comprend pas ce qu'es ce passe et pourtant j'ai passé des heures et des heures à vérifié le code et à suivre l'enchainement des action
aidez moi![]()
Partager