更新jsp页面中的字段并将其保存在Spring MVC中

时间:2011-09-04 16:03:13

标签: jquery spring 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方法中返回任何内容,只需更新当前页面的模型即可。这是最好的方法吗?

1 个答案:

答案 0 :(得分:1)

由于这是一个ajax请求,您必须使用ajax(看起来像jQuery)更新您的页面。您只需返回true / false即可表示停用已成功。