Question

J'ai un projet de test simple au printemps 3, essentiellement une méthode dans le contrôleur qui récupère les données d'une arraylist et "devrait" les transmettre à une vue Voici à quoi ressemble la méthode:

@RequestMapping(value="/showUsers")
public String showUsers(Model model){
    ArrayList<User> users=this.copy();
    model.addAttribute(users);
    return "showUsers";
}

Et voici le jsp (showUsers.jsp)

Ils s'exécutent tous les deux sans journaux ni avertissements, la vue est affichée mais sans les données ArrayList<User> :(

<table align="center" border="1">
    <tr>
        <td>Nr:</td><td>Name:</td><td>Email</td><td>Modify?</td>
    </tr> 
    <c:forEach var="user" items="${users}" varStatus="status">
        <tr>
            <td><c:out value="${status.count}"/></td><td><c:out value="${user.name}"/></td>
            <td><c:out value="${user.email}"/></td><td>Modify</td>
        </tr>   
    </c:forEach>
</table>

Un conseil? Merci!

Était-ce utile?

La solution

La Documentation du modèle répertorie 2 méthodes pour ajouter des attributs à un Modèle .Vous utilisez la version sans fournir de nom , donc Spring utilisera un nom généré .Je pense que ce nom généré n'est pas ce que vous pensez.

Vous pouvez ajouter le modèle en utilisant model.addAttribute("users", users);

Autres conseils

Merci à tous, j'ai résolu le problème de cette façon:

@RequestMapping(value="/showUsers")
@ModelAttribute("users")
public ArrayList<User> showUsers(){

    return userList;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top