栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring MVC将ArrayList传递回控制器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring MVC将ArrayList传递回控制器

我找到了答案

包装器:

public class UserListWrapper {private ArrayList<User> users;public ArrayList<User> getUsers() {    return users;}public void setUsers(ArrayList<User> users) {    this.users = users;}

控制器:

@Controllerpublic class AdminController {@Autowiredprivate UserDao userDao;@RequestMapping(value = "/admin", method = RequestMethod.GET)public ModelAndView adminPage() {    ModelAndView model = new ModelAndView();    UserListWrapper wrapper = new UserListWrapper();    wrapper.setUsers(new ArrayList<User>(userDao.findAll()));    model.addObject("userListWrapper",wrapper);    model.setViewName("admin");    return model;}@RequestMapping(value = "admin/remove", method = RequestMethod.POST)public ModelAndView removeUser(@ModelAttribute(value = "userListWrapper") UserListWrapper userListWrapper) {    ModelAndView model = new ModelAndView();    userDao.removeFlaggedUsers(userListWrapper.getUsers());    model.setViewName("redirect:/admin");    return model;}

}

视图:

<form:form action="/admin/remove" method="POST"  modelAttribute="userListWrapper">        <table > <thead>     <tr>         <th>First name</th>         <th>Last name</th>         <th>Email/login</th>         <th>Profession</th>         <th>Select<th>     </tr> </thead> <tbody>     <c:forEach varStatus="us" var="user" items="${userListWrapper.users}" >         <tr>  <td><form:input type="hidden" path="users[${us.index}].firstName"/>${user.firstName}</td>  <td><form:input type="hidden" path="users[${us.index}].lastName"/> ${user.lastName}</td>  <td><form:input type="hidden" path="users[${us.index}].login"/>${user.login}</td>  <td><form:input type="hidden" path="users[${us.index}].profession"/>${user.profession}</td>  <td><form:checkbox path="users[${us.index}].delete" value="${user.delete}"/></td>         <form:input type="hidden" path="users[${us.index}].id"/>         </tr>     </c:forEach> </tbody>        </table>         <input type="submit" value="Delete user(s)"  />        <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />        </form:form>

谢谢!

编辑:别忘了还要添加您未显示的字段。

例如:

如果不添加ID,则删除将不起作用,因为返回的User对象中的ID为NULL。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/435527.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号