Bonjour.
Bon, je sais pas trop comment expliquer mon problème.
En simplifiant, j'ai une DB avec les tables, classes suivantes.
Reports:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private int idReport; private Date dateReport; private Distances distances; private Users users; private Depense depense; private String reportMotif;
Distances :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private int idDistances; private Companies companiesByFinishCompanyId; private Companies companiesByStartCompanyId; private Float distance;
Companies :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private int idCompany; private String CompanyName; private String companyDesignation; private String companyAddress; private Integer companyPostalCode; private String companyCity;
Dans une JSP, je veux iterer les "reports" mais j'ai besoin aussi d'afficher les "Companies" correspondantes.
Après plusieurs essaies (avec et sans EL) j'ai fait :
Méthode Execute de la classe d'action :
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 <table class="table"> <tr> <th>Date</th> <th>Départ</th> <th>Arrivé</th> <th>Nbr Kms</th> <th>Motif</th> <th>Commentaire</th> <th>Montant</th> <th>Supprimer</th> <th>Modifier</th> </tr> <s:if test="%{ reports == null }"> <tr> <th colspan="10"> <div class="alert alert-success" role="alert">Pas de note de frais</div> </th> </tr> </s:if> <s:else> <s:iterator value="reports" status="status" var="report"> <tr> <td><s:property value="#report.dateReport"/></td> <!-- Fonctionne --> <td><s:property value="#report.distances.companiesByStartCompanyId.CompanyName"/></td> <!-- Ne fonctionne pas --> <td></td> <td><s:property value="#report.distances.distance"/></td> <!-- Ne fonctionne pas --> <td></td> <td><s:property value="#report.reportComment"/></td> <!-- Fonctionne --> <td><s:property value="#report.reportExpense"/></td> <!-- Fonctionne --> <td><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></td> <td><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></td> </tr> </s:iterator> </s:else> </table>
Les infos de la classe "Reports", pas de pbl mais quand il faut aller chercher les infos de la classe d'un des attributs, j'y arrive pas.
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 @Override public String execute() throws Exception { if(session.isEmpty()) { return ERROR; } mesg = (String) session.get("mesg"); session.put("mesg", ""); DAO<Users> userDao = DAOFactory.getUsersDao(); DAO<Reports> reportDao = DAOFactory.getReportsDao(); DAO<Companies> compDao = DAOFactory.getCompaniesDao(); DAO<Depense> depDao = DAOFactory.getDepenseDao(); user = userDao.find((int) session.get("userMatricule")); reports = ((ReportsDao) reportDao).findAllByUser(user.getIdUser()); companies = compDao.findAll(); depenses = depDao.findAll(); return SUCCESS; }
Dois-je modifier ma classe d'action ??
Une idée.
Merci d'avance pour votre aide.
Partager