我想向用户展示并在图片中编辑或删除它们。问题是,如何只发布一个对象或在列表中标识一个对象来编辑或删除?
我想编辑和删除应该提交2个参数:一个用于识别哪种操作(编辑,删除),另一个用于说明列表中的哪个对象是modidy(可能是索引?)。
我在控制器中有以下方法:
用户表单是一个包装类,是this教程
之后的用户列表/** Default GET form handler for MaganeUsers, in submission will call listusers */
@RequestMapping(value="admin/manageusers", method=RequestMethod.GET)
public String listusers(Model model) {
List<User> users = userService.listUsersDetails();
UserForm userform = new UserForm();
userform.setUserForm(users);
model.addAttribute("userForm", userform);
return "admin/manageusers";
}
这是我的jsp打印表:
<c:if test="${not empty userForm}">
<sf:form method="post" action="manageusers" modelAttribute="userForm">
<table>
<tr>
<th>No.</th>
<th>Username</th>
<th>User Roles</th>
<th>Enabled</th>
</tr>
<c:forEach items="${userForm.userForm}" var="users" varStatus="i">
<tr>
<td align="center">${i.count}</td>
<td><sf:input path="userForm[${i.index}].username" value="${users.username}"/></td>
<td><sf:input path="userForm[${i.index}].userRole" value="${users.userRole}"/></td>
<td><sf:input path="userForm[${i.index}].enabled" value="${users.enabled}"/></td>
<td><button name="submit" value="i">Edit</button><button name="submit" value="i">Delete</button></td>
</tr>
</c:forEach>
</table>
</sf:form>
</c:if>
我管理提交帖子的方法:
/** Default GET form handler for MaganeUsers, in submission will call listusers */
@RequestMapping(value="admin/manageusers", method=RequestMethod.POST)
public String deleteuser(Model model, @ModelAttribute("userForm") UserForm userForm) {
....
// code here?
userService.deleteUser(username);
return "admin/manageusers";
}
我想我应该在JSP中添加一些内容来发送params并在帖子持有者中管理它们,但不知道如何。
感谢。
答案 0 :(得分:3)
您应该在单独的控制器方法中处理编辑和删除。
将提交按钮更改为输入类型=&#34;按钮&#34;并处理单击js事件,您可以在其中构建逻辑以决定必须调用哪个控制器方法(可以动态构建URL)并从js提交它。
在编辑/删除操作之后,您可能需要调用get,然后查询db,用户可以在jsp上看到最新结果。