0
我是新来的Spring MVC,并寻找一个好办法做到以下几点:更新领域,坚持它在Spring MVC
我有显示用户的表中的JSP页面。在我的控制器通过我下面的代码添加的用户:
@ModelAttribute("users")
public List<UserAccount> getAllRegisteredUsers() {
return adminService.getRegisteredUsers();
}
在表中我也有一个按钮,说:“禁用用户”。当有人点击那个按钮时,我想调用该特定用户的setEnabled(false)方法来调用,最后在用户再次显示相同的页面之前坚持用户。现在在JSP中的“禁用用户”链接如下所示:
<a onClick=$.post("/admin/deactivate/${user.id}")>Deactivate</a>
我控制器接收此请求:
@RequestMapping(value = "/admin/deactivate/{id}", method = RequestMethod.POST)
public String deactivateUser(@ModelAttribute("users") ArrayList<UserAccount> users, @PathVariable("id") Long userId, ModelMap map) {
for (UserAccount userAccount : users) {
if (userAccount.getId() == userId) {
adminService.deactivateUser(userAccount);
}
}
return "admin";
}
这工作得很好,除了页面没有被刷新新模型。我必须按F5,然后我可以看到用户已被禁用。我真的不想在我的deactivateUser方法中返回任何东西,只需更新当前页面的模型。什么是最好的方法来做到这一点?
那么只需从deactivateUser方法返回一个布尔值?我该如何接收jsp页面中的布尔值?你有一个简单的代码示例? – KimAMartinsen
$ .post函数有另一个参数 - 一个回调'$ .post(“..”,函数(数据){..}' - 数据将是“true”或“false” – Bozho
perfect!thanks :-) – KimAMartinsen