Spring を使用するプロジェクトがあり、jQuery を使用して管理ページを作成する必要があります。すべてのユーザーのテーブルがあり、「削除」ボタンがあります。クリックすると、ユーザーはデータベースから削除されます。スクリプトがなくてもすべて正常に動作しますが、スクリプトを使用すると、ユーザーをデータベースから削除する方法と、ユーザーのログインをコントローラーに送信する方法がわかりません。テーブルから行を削除することしかできませんでしたが、ページを更新してもユーザーはまだそこにいます。スクリプト内でデータベースからユーザーを削除する方法を教えてください。
テーブル
<table id="userBase" class="data" border="1" width="100%" cellpadding="2" cellspacing="4">
<tr>
<th>Login</th>
<th>First Name</th>
<th>Last Name</th>
<th>Birthday</th>
<th>Role</th>
<th>Actions</th>
</tr>
<c:forEach items="${userList}" var="user">
<tr>
<td>${user.login}</td>
<td>${user.firstname}</td>
<td>${user.lastname}</td>
<td>${user.birthday}</td>
<td><c:if test="${user.roleid==1}">Admin</c:if>
<c:if test="${user.roleid==2}">User</c:if></td>
<td><a href="edit/${user.login}">Edit </a>
<a class="confirm" href="delete/${user.login}">Delete</a></td>
</tr>
</c:forEach>
</table>
スクリプトなしのコントローラー(現在コメントされていますが、正常に動作します)
@RequestMapping("/delete/{userLogin}")
public String deleteUser(@PathVariable("userLogin") String userLogin) {
userService.remove(userService.findByLogin(userLogin));
return "redirect:/welcome";
}
スクリプトのコントローラー
@Controller
public class SpringController {
@Autowired
private UserService userService;
@RequestMapping(value = "/delete/{userLogin}", method = RequestMethod.POST)
@ResponseBody
public boolean updateUser(@RequestParam("userLogin") String userLogin) {
userService.remove(userService.findByLogin(userLogin));
return true;
}
}
脚本
<script>
$(document).ready(function() {
$("#userBase .confirm").on("click",function() {
var conBox = confirm("Are you sure ?");
if(conBox){
var tr = $(this).closest('tr');
tr.css("background-color","#000000");
tr.fadeIn(1000).fadeOut(200, function(){
tr.remove();
});
} else {
$(this).dialog("close");
}
});
});
</script>