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