diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java index b908c5565cc3ad3d4cec565f5c03f97949672920..483e3b5a5c1486d4ed0f1cc7808b76df825b80b6 100644 --- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java +++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java @@ -1,63 +1,50 @@ package uk.ac.cf.spring.demo.sports.Userdetail; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import java.util.List; - +@RestController @Controller public class UserController { - // 依赖注入 UserService private final UserService userService; + // 使用 @Autowired 进行依赖注入(构造函数注入) + @Autowired public UserController(UserService userService) { this.userService = userService; } - // 显示所有用户列表 - @GetMapping("/users") - public ModelAndView getUsers() { - ModelAndView modelAndView = new ModelAndView("user/allUserList"); - List<User> users = userService.getAllUsers(); - modelAndView.addObject("users", users); - return modelAndView; + // 获取所有用户列表 + @GetMapping + public List<User> getAllUsers() { + return userService.getAllUsers(); } - // 通过用户 ID 查看用户详情 - @GetMapping("/users/{id}") - public ModelAndView getUserById(@PathVariable Long id) { - ModelAndView modelAndView = new ModelAndView("user/userDetails"); - User user = userService.getUserById(id); - modelAndView.addObject("user", user); - return modelAndView; + // 通过用户 ID 获取用户详情 + @GetMapping("/api/users/{id}") + public User getUserById(@PathVariable Long id) { + return userService.getUserById(id); } - // 显示添加用户的表单 - @GetMapping("/users/add") - public ModelAndView addUser() { - ModelAndView modelAndView = new ModelAndView("user/userForm"); - Userform emptyUserform = new Userform(); - modelAndView.addObject("user", emptyUserform); - return modelAndView; + // 添加用户 + @PostMapping + public void addUser(@RequestBody User user) { + userService.addUser(user); } - // 显示编辑用户信息的表单 - @GetMapping("/users/edit/{id}") - public ModelAndView editUser(@PathVariable("id") Long id) { - ModelAndView modelAndView = new ModelAndView("user/userForm"); - // 获取需要编辑的用户 - User userToEdit = userService.getUserById(id); - - // 创建表单对象 - Userform userform = new Userform( - userToEdit.getId(), - userToEdit.getEmail(), - userToEdit.getUsername() - ); - - modelAndView.addObject("user", userform); - return modelAndView; + // 更新用户信息 +// @PutMapping("/{id}") +// public void updateUser(@PathVariable Long id, @RequestBody User user) { +// user.setId(id); // 确保更新的对象有正确的 ID +// userService.updateUser(user); +// } + + // 删除用户 + @DeleteMapping("/{id}") + public void deleteUser(@PathVariable Long id) { + userService.deleteUser(id); } } \ No newline at end of file diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java index 640518b30d217eb4fbc329e25af55424e4655cdd..7c3f4f454e7dbf0a21355658ecddff310d4e2c52 100644 --- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java +++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java @@ -18,4 +18,6 @@ public interface UserService { // 添加用户 void addUser(User user); + + void deleteUser(Long id); } \ No newline at end of file diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java index 235afbc3009b564bad5998cd0321cb058d388961..b180ab3d2454e8c7f0b86fcc3873e5d04205f286 100644 --- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java +++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java @@ -34,4 +34,9 @@ public class UserServiceImpl implements UserService{ public void addUser(User user) { } + + @Override + public void deleteUser(Long id) { + + } } diff --git a/src/main/resources/static/js/UserCenter.js b/src/main/resources/static/js/UserCenter.js index 074519092d187807a6bf423989697c0389800373..5a1bef3a6200a405aa4b62f210ef7da6afedb037 100644 --- a/src/main/resources/static/js/UserCenter.js +++ b/src/main/resources/static/js/UserCenter.js @@ -1,9 +1,9 @@ // userTable.js // 动态加载用户数据 -async function loadUsers() { +async function loadUsers(id) { try { - const response = await fetch('/api/users'); // 确保后端提供了此 API + const response = await fetch('/api/users/${id}'); // 确保后端提供了此 API if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } @@ -28,10 +28,9 @@ async function loadUsers() { `; tbody.appendChild(row); }); - } catch (error) { + } + catch (error) { console.error('Error loading users:', error); - const tbody = document.querySelector('tbody'); - tbody.innerHTML = `<tr><td colspan="4">Failed to load user data.</td></tr>`; } } diff --git a/src/main/resources/templates/Usercenter/Usercenter.html b/src/main/resources/templates/Usercenter/Usercenter.html index 4f1c57ee84ce5cc4ed12c58ffdb3bb8a24636538..170d68f4ff4ddf962309b5160e6605e7cad0e770 100644 --- a/src/main/resources/templates/Usercenter/Usercenter.html +++ b/src/main/resources/templates/Usercenter/Usercenter.html @@ -3,8 +3,10 @@ <head> <meta charset="UTF-8"> <title>Title</title> + <link rel="stylesheet" href="../css/UserCenter.css"> </head> <body> + <table> <thead> <tr>