Bonjour à vous,
Voici un moment que je cherche une solution à mon problème mais malheureusement en vain.
Je me décide donc à solliciter votre aide.
Je développe actuellement en site web en j2ee à l'aide du framework Struts2 sur un serveur tomcat 6 et mon problème se situe au moment d'afficher les objets que je récupère en base de données.
Voici l'arborescence de mon code :
Pour exemple : Je souhaite afficher tous les problèmes(table probleme dans ma bdd MySQL), pour cela Struts.xms renvoi dans problemeAction qui appel problemeModel afin de chercher les informations en bdd. Je construit ensuite une arrayList de probleme et je retourne un "success".
Struts.xml redirige bien vers la page lister_probleme.jsp mais ma liste de probleme est vide alors qu'elle était rempli dans problemeAction.
Voici des exemples de mon code :
Struts.xml:
problemeAction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="false" /> <constant name="struts.custom.i18n.resources" value="package" /> <action name="lister_Developpeur" class="com.developpez.actions.DeveloppeurAction" method="lister"> <result name="success">/jsp/lister_Developpeur.jsp</result> </action>
Dans la méthode lister() listProbleme contient bien tous les problèmes récupérés en bdd.
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 public class ProblemeAction extends ActionSupport { private static final long serialVersionUID = 1L; private int idProbleme; private String titreProbleme; private String descriptionProbleme; private int popularite; private int fkIdSousCategorie; private java.util.Date dateProbleme; public static ArrayList<Probleme> listProbleme = new ArrayList<Probleme>(); public String lister(){ ProblemeModel problemeModel = new ProblemeModel(); listProbleme = problemeModel.getAllProbleme(); System.out.println(listProbleme.size()); return "success"; }
Voici enfin ma jsp ou je n'arrive pas à afficher cette liste.
Le test me renvoi directement dans l'affichage liste vide.
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 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="css/base.css" media="all" /> <link rel="stylesheet" type="text/css" href="css/modele07.css" media="screen" /> <script type="text/javascript" src="./js/fonction/message.js"></script> <title></title> </head> <body> <%@ include file="../div/divGlobal.jsp" %> <%@ include file="../div/divEntete.jsp" %> </div><!-- #entete --> <br> <%@ include file="../div/divCentre.jsp" %> <%@ include file="../div/divNavigation.jsp" %> </div><!-- #navigation --> <%@ include file="../div/divContenu.jsp" %> <table id="tableContenu" cellpadding="0" cellspacing="0" width="600px"> <s:if test="%{listProbleme.size()>0}"> <table border="1" cellpadding="5" cellspacing="2"> <tr bgcolor="#DEA254"> <td><s:text name="developpez.form.idProbleme"></s:text></td> <td><s:text name="developpez.form.titreProbleme"></s:text></td> <td><s:text name="developpez.form.titreProbleme"></s:text></td> <td><s:text name="developpez.form.popularite"></s:text></td> </tr> <s:iterator value="listProbleme"> <tr> <td><s:property value="idProbleme" /><br/> </td> <td><s:property value="titreProbleme" /><br/> </td> <td><s:property value="titreProbleme" /><br/> </td> <td><s:property value="popularite" /><br/> </td> </tr> </s:iterator> </table> </s:if> <s:else> <s:text name="developpez.message.listevide"></s:text> </s:else> <tbody> </tbody> </table> </div> </div> </div><!-- #contenu --> </div> </div><!-- #contenu --> </div><!-- #centre --> </div><!-- #global --> </body> </html>
J’espère n'avoir pas été trop brouillons dans mes explications et comme vous avez pu le voir je me suis basé sur les tuto gestionDeveloppeur qui, eux fonctionne parfaitement.
Merci par avance pour l'attention que vous porterez à mon problème.
Partager