Как передать объект в представление Spring MVC3 - PullRequest
4 голосов
/ 15 июня 2011

У меня есть простой тестовый проект в Spring 3, в основном метод в контроллере, который выбирает данные из массива и "должен" передать их в представление Вот как выглядит метод:

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

А вот jsp (showUsers.jsp)

Они оба выполняются без журналов или предупреждений, когда отображается представление, но без данных 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>

Любой совет? Спасибовы!

Ответы [ 2 ]

5 голосов
/ 15 июня 2011

В документации Model перечислены 2 способа добавления атрибутов в Model . Вы используете версию без указания имени , поэтому Spring будет использовать сгенерированное имя . Я думаю, что это сгенерированное имя не то, что вы думаете.

Вы можете добавить модель, используя model.addAttribute("users", users);

3 голосов
/ 15 июня 2011

Спасибо всем, я решил это так:

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

    return userList;
}
...