如何将对象传递给视图Spring MVC3

时间:2011-06-15 19:40:28

标签: jsp spring-mvc model spring-3

我在Spring 3中有一个简单的测试项目,基本上是控制器中的一个方法,它从一个arraylist中获取数据并“应该”将它们传递给一个视图 Thsi是这个方法的样子:

@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 个答案:

答案 0 :(得分:5)

Model documentation列出了向模型添加属性的2种方法。您正在使用该版本而不提供名称,因此Spring将使用generated name。我认为这个生成的名称并不是你想象的那样。

您可以使用model.addAttribute("users", users);

添加模型

答案 1 :(得分:3)

谢谢大家,我这样解决了:

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

    return userList;
}