salut tout le monde
je débute avec STRUTS et j'essaie d'Exploiter une source de données mais j'ai rencontré un pb.
Voila ce que j'ai comme erreur :
liste.javajavax.servlet.ServletException: Cannot find bean: "listArticles" in scope: "session"
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.listearticles_jsp._jspService(listearticles_jsp.java:159)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
listearticles.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 public class liste extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // lit le contenu de la table articles d'une connexion // réalisée à l'init du contexte // on récupère a source de données dbarticles DataSource dataSource = this.getDataSource(request, "dbarticles"); if (dataSource == null) { // la source de données n'a pas pu être créée ActionErrors erreurs = new ActionErrors(); erreurs.add("dbarticles", new ActionError("erreur.dbarticles","La source de données n'a pu être créée")); this.saveErrors(request, erreurs); return mapping.findForward("afficherErreurs"); } Connection connexion = null; Statement st = null; ResultSet rs = null; String requête = null; ArrayList alArticles = new ArrayList(); try { connexion = dataSource.getConnection(); requête = "select nom_etud, cin_etud stockMinimum from etudiant"; st = connexion.createStatement(); rs = st.executeQuery(requête); // exploiter les résultats while (rs.next()) { // enregistrer la ligne courante alArticles.add(new String[] { rs.getString("nom_etud"),rs.getString("cin_etud") }); // ligne suivante } rs.close(); st.close(); } catch (Exception ex) { // des erreurs se sont produites ActionErrors erreurs = new ActionErrors(); erreurs.add("dbarticles", new ActionError("erreur.dbarticles")); this.saveErrors(request, erreurs); return mapping.findForward("afficherErreurs"); } finally { try { connexion.close(); } catch (Exception ignored) { } } // c'est bon request.setAttribute("listArticles", alArticles); return mapping.findForward("afficherListeArticles"); } //execute } //classe
struts-config.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 <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <% // listarticles : ArrayList dans la requête // listArticles(i) : tableau (String[5]) de 5 éléments %> <html> <head> <title>DataSource Struts</title> </head> <body> <h3>Liste des articles</h3> <hr> <table border="1"> <logic:iterate id="ligne" name="listArticles" scope="session"> <tr> <logic:iterate id="colonne" name="ligne"> <td><bean:write name="colonne"/></td> </logic:iterate> </tr> </logic:iterate> </table> </body> </html>
Code xml : 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 <struts-config> <data-sources> <data-source key="dbarticles"> <set-property property="driverClass" value="com.mysql.jdbc.Driver"></set-property> <set-property property="url" value="jdbc:mysql://localhost/master_ql"></set-property> <set-property property="user" value="admarticles"></set-property> <set-property property="password" value="mdparticles"></set-property> <set-property property="minCount" value="2"></set-property> <set-property property="maxCount" value="5"></set-property> </data-source> </data-sources> <form-beans> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> <forward name="welcome" path="/Welcome.do"/> </global-forwards> <action-mappings> <action path="/Welcome" forward="/welcomeStruts.jsp"/> <action path="/liste" type="com.myapp.struts.ListeArticlesAction" scope="request"> <forward name="afficherListeArticles" path="listarticles.jsp"/> <forward name="afficherErreurs" path="erreurs.jsp"/> </action> <action path="/liste" type="com.myapp.struts.ListeArticlesAction"/> <action path="/liste" type="com.myapp.struts.liste"/> </action-mappings> <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/> <message-resources parameter="com/myapp/struts/ApplicationResource" null="false" />
Partager