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 :
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>
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
    @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;
    }
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.
Dois-je modifier ma classe d'action ??

Une idée.

Merci d'avance pour votre aide.