Bonjour!
Je souhaite faire un formulaire de modification.
J'explique : Mon utilisateur va visionner dans un tableau l'ensemble des groupes d'utilisateurs de l'appli. Il voit donc dans son tableau l'id du groupe, le nom du groupe et les autorisations. Les autorisations sont listées avec des html:checkbox non editables devant (cochée = accessible, non cochée = interdit d'acces)...
Il sélectionne le groupe qu'il veut modifier (déja fait, j'ai le bon objet dans mon action, rempli avec les bons champs). Maintenant j'affiche en dessous du tableau le formulaire de modification :
possibilité de saisir :
- un nouveau nom
- de cocher les fonctionnalités qu'il veut lui mettre.
Dans ce formulaire j'ai donc :
- un champ texte , le nouveau nom de mon groupe d'utilisateur
- une ligne par fonctionnalité de l'appli (nombre de lignes variables puisque le nombre de fonctionnalité n'est pas fixe) : sur cette ligne on trouve une checkbox suivie du nom de la fonctionnalité.
Pour afficher tout ca pas de problème. Pour récupérer tout ca pas de problème.... seulement il m'est impossible de pré-cocher mes checkbox. Je pré-rempli mon texte de nouveau nom de groupe avec le nom du groupe avant changement, mais je ne peux pas pré-cocher mes cases.
Mon code :
jsp :
Je met en session dans mon action l'attribut "listFonctionnalitiesAuthorized" qui est une liste d'objets de type Fonctionnality :
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 <div id = "formuChangeGroup"> <table class="default"> <html:form action= "/adminGroup" focus="idProfile"> <tr> <td><html:hidden property="whatToDo" value="default"/></td> </tr> <tr> <td><bean:message key="administration.adminGroups.group.text.TitreColGroupName" /></td> <td></td> <td><html:text property="nameProfile"/></td> </tr> <tr> <td><bean:message key="administration.adminGroups.group.text.TitreColAccessibility" /></td> <logic:iterate id="autorisation" name="listFonctionnalitiesAuthorized" type="io.classesBase.Fonctionnality"> <td> <tr> <td></td> <%if (autorisation.isAccessible()) {%> <td><input type="checkbox" property="choix" value="<%=autorisation.getIdFonctionnalityToString()%>" checked></td> <%} else {%> <td><input type="checkbox" property="choix" value="<%=autorisation.getIdFonctionnalityToString()%>"></td> <%}%> <td><bean:write name="autorisation" property="nameFonctionnality"/><td> </tr> <td> </logic:iterate> </tr> <tr> <td></td> <td></td> <td> <html:submit onclick="changeGroup(this,'changeGroup')"><bean:message key='administration.adminGroups.group.button.changeGroup'/></html:submit> <html:cancel onclick="setWhatToDo(this,'changeGroupCancel')"><bean:message key='administration.adminGroups.group.button.changeGroupCancel'/></html:cancel> </td> <tr> </html:form> </table> </div>
Mon Form est le suivant :
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 public class Fonctionnality { private int idFonctionnality; private int idFonctionnalityPere; private String nameFonctionnality; private String pageFonctionnality; private boolean accessible; // tous les getters & setters // + les getters & setters suivants : public String getIdFonctionnalityToString() { return ""+idFonctionnality; } public void setIdFonctionnalityToString(String idFonctionnalityString) { this.idFonctionnality = new Integer(idFonctionnalityString).intValue(); }
Voilà!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class AdminGroupForm extends ActionForm { private String idProfile; private String nameProfile; private ArrayList<Fonctionnality> fonctionnalities; private String[] choix; private String whatToDo; // getters & setters qu'il faut
Je vois pas comment je peux faire pour précocher les bonnes checkboxes
si quelqu'un a une idée svp......?
Partager