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éparé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 :
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
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; } }
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
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
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>
Merci d'avance
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>
Partager