Bonjour,

depuis vendredi j'arrive pas à avancer dans mon appli , et il faut qu 'elle soit fini cette semaine .

Merci de m'aider SVP:

Bon voici l'erreur actuel que j'ai :
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
javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean under name listRoles
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
	org.apache.jsp.users.ajouterUser_jsp._jspService(ajouterUser_jsp.java:100)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 
cause mère
 
javax.servlet.jsp.JspException: Cannot find bean under name listRoles
	org.apache.struts.taglib.html.SelectTag.calculateMatchValues(SelectTag.java:301)
	org.apache.struts.taglib.html.SelectTag.doStartTag(SelectTag.java:244)
	org.apache.jsp.users.ajouterUser_jsp._jspx_meth_html_005fselect_005f0(ajouterUser_jsp.java:401)
	org.apache.jsp.users.ajouterUser_jsp._jspx_meth_html_005fform_005f0(ajouterUser_jsp.java:199)
	org.apache.jsp.users.ajouterUser_jsp._jspx_meth_html_005fhtml_005f0(ajouterUser_jsp.java:129)
	org.apache.jsp.users.ajouterUser_jsp._jspService(ajouterUser_jsp.java:93)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

Voici mon 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
 
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page import="appHIB.Roles" %>
<html:html>
<head>
<title>Page de saisie d'un user</title>
</head>
<body bgcolor="#ffffff">
 
<!--
 Ici c'est la page ou sera saisis le nom de notre user, ensuite le formulaire sera donnée a userSaisirBean(réalisé par le controleur) qui
 controlera celui-ci avant de le donner a l'action pour le traitement métier et l'acces aux bases de données.
-->
 
<html:form  action="/create" name="frmAjouterUser" type="app.UserAjouterBean">
<CENTER>
<h2>Saisir les informations de votre User</h2>
<table >
<TR><TD></TD></TR>
<TR><TD><h5>Login      :</h5></TD><TD><html:text property="logUser" size="50"/><html:errors property="logUser"/></TD></TR>
<TR><TD><h5>Nom        :</h5></TD><TD><html:text property="nameUser" size="50"/><html:errors property="nameUser"/></TD></TR>
<TR><TD><h5>Email      :</h5></TD><TD><html:text property="emailUser" size="50"/><html:errors property="emailUser"/></TD></TR>
<TR><TD><h5>Liste Roles:</h5></TD><TD><html:text property="rolesUser" size="50"/><html:errors property="rolesUser"/></TD></TR>
<TR></TR>
 
</table>
 
 
 
 
<html:select name="listRoles" property="name">
<html:options collection="list_roles" property="id" labelProperty="description"/>
</html:select>
 
 
 
 
 
<CENTER> <h5 style="COLOR: #ff0000;"><i>Saisir tous les noms des roles de votre User s&eacute;par&eacute;s par des ';'</i> </h5></CENTER>
<html:submit value="Valider"/>
<html:reset value="Reset"/>
</CENTER>
</html:form>
</body>
</html:html>

le bean associé a cette 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package app;
import java.util.Collection;
 
import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionMapping;
 
import appHIB.Roles;
 
import javax.servlet.http.*;
 
 /** ici on definit le bean qui va recevoir les donnees saisies
  * dans le formulaire frmSaisiruser de la page saisieuser.jsp
  */
 
 @SuppressWarnings("serial")
public class UserAjouterBean
     extends ActionForm {
   /**
    * Parametre du bean
    */
   private String logUser = null;
   public String getLogUser() {
   return logUser;
   }
 
   public void setLogUser(String logUser) {
     this.logUser = logUser;
   }
   /***       name   ******************/
   private String nameUser = null;
   public String getNameUser() {
     return nameUser;
   }
 
   public void setNameUser(String nameUser) {
     this.nameUser = nameUser;
   }
 
   /***       email   ******************/
   private String EmailUser = null;
   public String getEmailUser() {
     return EmailUser;
   }
 
   public void setEmailUser(String EmailUser) {
     this.EmailUser = EmailUser;
   }
 
   /***       Roles   ******************/
   private String RolesUser = null;
   public String getRolesUser() {
     return RolesUser;
   }
 
   public void setRolesUser(String RolesUser) {
     this.RolesUser = RolesUser;
   }
 
/*******************        List Roles            **********************************/
 
   private Collection<Roles> listRoles=null;
 
   public Collection<Roles> getListRoles() {
	   return listRoles;
	   }
 
	   public void setListRoles(Collection<Roles> list) {
	     this.listRoles = list;
	   }
 
 
   /**
    * Partie de controle des donnees saisies
    * @param actionMapping
    * @param httpServletRequest
    * @return
    */
   public ActionErrors validate(ActionMapping actionMapping,
                                HttpServletRequest httpServletRequest) {
 
     /**
      * Creation ici de la liste d'erreur
      */
     ActionErrors erreurs = new ActionErrors();
     /**Les choses serieuse commencent, je vais controler mon formuliare
      * Ici en l'occurrence mon nomuser ne doit pas être vide
      * Le controleur appelle cette methode apres aoir chargé les données(ici une seule)
      * mais peu importe le nombre
      */
     if (logUser.length() == 0) {
       /**
        * Si le champ nom de l'user est vide je retourne une erreur
        * avec erreur.add("clé,ActionError)
        */
       erreurs.add("logUser", new ActionError("Objet.nom.vide"));
     }
     /**
      * ici on retourne la liste des erreurs, si celle-ci est vide le controleur pourra executer
      * la methode execute de notre Action (userSaisirAction)
      */
     return erreurs;
   }
 
 
}
voici l action pour construire la liste :
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
package app;
 
/***
 * Cette classe va faire appel soit aux classes métier, aux classes de données.
 * Elle retournera ensuite les données a la page
 */
 
import java.util.Collection;
 
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 service.Service;
import appHIB.Roles;
 
public class UserAjouterListRolesAction extends Action {
 
 
  @SuppressWarnings({ "unchecked", "static-access" })
public ActionForward perform(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
 
System.out.println("Action");
    String cible=new String("succes");
    //ici mon formulaire est correct, je vais pouvoir interroger les données
    @SuppressWarnings("unused")
	Roles roles =null ;
 
 
    Service service= new Service();
    Collection<Roles> list=null;
	try {
		list = service.getAll();
	} catch (Throwable e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
 
    if(list==null) {
       cible="pastrouve";
    }
    else{
 
    	 httpServletRequest.setAttribute("list_roles",list);
 
    }
   return actionMapping.findForward(cible);
  }
 
}

voici struts-cofig.xml
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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
<form-beans>
  <form-bean name="UserSaisirBean"  type="app.UserSaisirBean"/>
  <form-bean name="UserModifierBean"  type="app.UserModifierBean"/>
  <form-bean name="UserSupprimerBean"  type="app.UserSupprimerBean"/>
  <form-bean name="UserAjouterBean"  type="app.UserAjouterBean"/>
  <form-bean name="RolesSaisirBean"  type="appRoles.RolesSaisirBean"/>
    <form-bean name="RolesAjouterBean"  type="appRoles.RolesAjouterBean"/>
    <form-bean name="RolesModifierBean"  type="appRoles.RolesModifierBean"/>
    <form-bean name="RolesSupprimerBean"  type="appRoles.RolesSupprimerBean"/>
    <form-bean name="UserAjouterListRolesBean"  type="app.UserAjouterListRolesBean"/>
</form-beans>
<action-mappings>
  <action path="/main" name="UserSaisirBean" scope="session" validate="true"  input="/users/saisirUser.jsp" type="app.UserSaisirAction">
    <forward name="succes" path="/users/ficheUser.jsp"/>
    <forward name="pastrouve" path="/users/userNonTrouve.jsp"/>
  </action>
 
  <action path="/update" name="UserModifierBean" scope="session" validate="true"  input="/users/modifierUser.jsp" type="app.UserModifierAction">
    <forward name="succes" path="/users/ficheUser.jsp"/>
    <forward name="pastrouve" path="/users/userNonTrouve.jsp"/>
  </action>
 
  <action path="/delete" name="UserSupprimerBean" scope="session" validate="true"  input="/users/supprimerUser.jsp" type="app.UserSupprimerAction">
    <forward name="succes" path="/users/suppressionUser.jsp"/>
    <forward name="pastrouve" path="/users/userNonTrouve.jsp"/>
  </action> 
 
  <action path="/create" name="UserAjouterBean" scope="session" validate="true"  input="/users/ajouterUser.jsp" type="app.UserAjouterAction">
    <forward name="succes" path="/users/ficheUser.jsp"/>
    <forward name="pastrouve" path="/users/userNonTrouve.jsp"/>
  </action> 
 
  <action path="/mainRoles" name="RolesSaisirBean" scope="session" validate="true"  input="/roles/saisirRoles.jsp" type="appRoles.RolesSaisirAction">
    <forward name="succes" path="/roles/ficheRoles.jsp"/>
    <forward name="pastrouve" path="/roles/rolesNonTrouve.jsp"/>
  </action>
 
  <action path="/createR" name="RolesAjouterBean" scope="session" validate="true"  input="/roles/ajouterUser.jsp" type="appRoles.RolesAjouterAction">
    <forward name="succes" path="/roles/ficheRoles.jsp"/>
    <forward name="pastrouve" path="/roles/rolesNonTrouve.jsp"/>
  </action>
 
  <action path="/updateR" name="RolesModifierBean" scope="session" validate="true"  input="/roles/modifierUser.jsp" type="appRoles.RolesModifierAction">
    <forward name="succes" path="/roles/ficheRoles.jsp"/>
    <forward name="pastrouve" path="/roles/rolesNonTrouve.jsp"/>
  </action>
 
  <action path="/deleteR" name="RolesSupprimerBean" scope="session" validate="true"  input="/roles/supprimerRoles.jsp" type="appRoles.RolesSupprimerAction">
    <forward name="succes" path="/roles/suppressionRoles.jsp"/>
    <forward name="pastrouve" path="/roles/rolesNonTrouve.jsp"/>
  </action> 
 
  <action path="/UserListRoles"  name="UserAjouterListRolesBean" type="app.UserAjouterListRolesAction"  scope="request" validate="false">
    <forward name="succes" path="/users/ajouterUser.jsp" redirect="false" />
    <forward name="pastrouve" path="/users/ajouterUser.jsp" redirect="false" /> 
  </action>
 
</action-mappings>
 
</struts-config>
voici ma page index:

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
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="appHIB.Roles" %>
<html:html>
<jsp:useBean id="beanData" scope="request" class="appHIB.User" />
<!--
Ici on va lire les données de notre bean. (RetourneData)
-->
<head>
<title>index</title>
</head>
<body bgcolor="#ffffff">
<center><IMG SRC="logo.gif" WIDTH="500" HEIGHT="150" ></center>
<h1 align="center">Index<H1>
<table border"1" align="center">
<TR><TD>User   :</TD><TD></TD>
<TR><TD>Creation :</TD><TD><html:link page="/UserListRoles.do">lien</html:link></TD></TR>
<!--   <TR><TD>Creation :</TD><TD><html:link page="/users/ajouterUser.jsp">lien</html:link></TD></TR>-->
<TR><TD>Mis à jour  :</TD><TD><html:link page="/users/modifieUser.jsp">lien</html:link></TD></TR>
<TR><TD>Suppression:</TD><TD><html:link page="/users/supprimerUser.jsp">lien</html:link></TD></TR>
<TR><TD>Consultation :</TD><TD><html:link page="/users/saisirUser.jsp">lien</html:link></TD></TR>
 
 
<TR><TD>Roles   :</TD><TD></TD>
<TR><TD>Creation :</TD><TD><html:link page="/roles/ajouterRoles.jsp">lien</html:link></TD></TR>
<TR><TD>Mis à jour  :</TD><TD><html:link page="/roles/modifierRoles.jsp">lien</html:link></TD></TR>
<TR><TD>suppression  :</TD><TD><html:link page="/roles/supprimerRoles.jsp">lien</html:link></TD></TR>
<TR><TD>Consultation:</TD><TD><html:link page="/roles/saisirRoles.jsp">lien</html:link></TD></TR>
 
 
 
 
 
</TABLE>
</body>
</html:html>
Merci d'avance