Bonjour,

j'ai un petit soucis pour initialiser X fois (avec une valeur qui n'est pas forcément la même à chaque fois) un champ de mon ActionForm.
En gros ici, une entité est composé de domaines.

Voici mon ActionForm:
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
 
public class UpdateDomaineActionForm extends ValidatorForm {
 
    private Integer dom_codeId;
    private String dom_nom;
    private Integer dom_enti_codeId;
 
    public Integer getDom_codeId () {
        return dom_codeId;
    }
    public void setDom_codeId (Integer dom_codeId) {
        this.dom_codeId = dom_codeId;
    }
    public Integer getDom_enti_codeId () {
        return dom_enti_codeId;
    }
    public void setDom_enti_codeId (Integer dom_enti_codeId) {
        this.dom_enti_codeId = dom_enti_codeId;
    }
    public String getDom_nom () {
        return dom_nom;
    }
    public void setDom_nom (String dom_nom) {
        this.dom_nom = dom_nom;
    }
 
}
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
 
<logic:iterate name="domaines" id="domaine">
<tr>
<html:form action="/updateDomaine">
<html:hidden name="domaine" property="dom_codeId" />			
	......
	<td class="td_ligne">
		<html:select property="dom_enti_codeId"  style="width: 300;">
		<html:optionsCollection name="entites" label="entite_nom" value="entite_codeId" />
		</html:select>
	</td>
	......
</html:form>
</tr>
</logic:iterate>
Et mon action qui mets les données en request pour afficher ma JSP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
            request.setAttribute("entites", IEntites.getAllEntites());
            request.setAttribute("domaines", IDomaines.getAllDomaines());
Donc mon problème se situe pour initialiser le html:select sur une valeur du html:options. L'initialisation doit se faire par rapport à la valeur en BDD sur le champ dom_enti_codeId.

J'ai réussi à l'initialiser en faisant ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<html:select name="domaine" property="dom_enti_codeId.enti_codeId"  style="width: 300;">
Mais après cette modif je ne sais pas comment modifier le action form en conséquence pour récupérer la valeur a la soumission du formulaire (j'ai essayé dom_enti_codeId et enti_codeId mais ça ne fonctionne pas, ça me renvoie null).

Rectification : ceci fonctionnait lorsque je n'utilisais pas mon propre actionform mais le DynaActionForm de base. Avec mon propre actionform, ça ne fonctionne plus.

Dans d'autres parties de ma webapp, quand j'affiche seulement 1 seul élément (donc sans liste et sans iterate), j'initialise mon action form grâce à ceci dans l'action:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
NomActionForm formulaire = (NomActionForm) form;
formulaire.setDom_enti_codeId(id correspondant à l'entité parente);
Existe t-il une façon de faire similaire pour une liste ?