Bonjour,
avant de poster mon problème j'ai fait 2 jours de recherche sans parvenir à un resultat
l'idée est de charger un multibox d'une table de la base de données.
de ce fait j'ai implémente une classe qui interroge la table.
alors au niveau de l'action de la page authentification je recupere l'action form en question et je fais un set de la liste des élémént multibox à afficher mais
l'erreur javax.servlet.ServletException: No collection found s'affichent
voici la méthode récupérant les données :
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 public Ressource[] loadUsers() throws SQLException { ResultSet rs = connect.createStatement().executeQuery( "SELECT Id, NAME FROM employe"); Ressource[] listUsers = new Ressource[2]; int index = 0; while (rs.next()) { System.out.println("############# " + rs.getInt(1)); System.out.println("############# " + rs.getString(2)); listUsers[index] = new Ressource(rs.getInt(1), rs.getString(2)); index++; } return listUsers; }
la classe action d'authentification :
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 bpo.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import bpo.action.bean.Ressource; import bpo.forms.LoginForm; import bpo.forms.UploadFileForm; import bpo.manager.FactureManager; public class LoginAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginForm login = (LoginForm) form; FactureManager factureManager = new FactureManager(); String direct = ""; Ressource[] listUsers = factureManager.loadUsers(); UploadFileForm formupload = new UploadFileForm(); formupload.setListUsers(listUsers); boolean loginValide = factureManager.isloginPwdValide(login.getLogin(), login.getPwd()); if (loginValide == true) direct = "succes"; else direct = "echec"; return mapping.findForward(direct); } }
l'action form concernant le multibox :
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 package bpo.forms; import java.util.List; import org.apache.struts.action.ActionForm; import org.apache.struts.upload.FormFile; import bpo.action.bean.Ressource; public class UploadFileForm extends ActionForm { private Ressource[] listUsers = null; private String[] userSelected = null; private FormFile file; public FormFile getFile() { return file; } public void setFile(FormFile file) { this.file = file; } public Ressource[] getListUsers() { return listUsers; } public void setListUsers(Ressource[] listUsers) { this.listUsers = listUsers; } public String[] getUserSelected() { return userSelected; } public void setUserSelected(String[] userSelected) { this.userSelected = userSelected; } }
et le tag au niveau de la page 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 <tr> <logic:iterate id="item" name="uploadFileForm" property="listUsers"> <td> <html:multibox name="uploadFileForm" property="userSelected" > <bean:write name="item" property="id"/> </html:multibox> <bean:write name="item" property="name"/> </td> </logic:iterate> </tr>
merci pour votre aide
Partager