javaWeb项目中点击user_list.jsp的冻结/解冻button会弹出一个弹窗填入要冻结的用户id,实现如果用户未冻结就冻结用户,如果用户冻结了就解冻用户,冻结的用户不能登录的功能,冻结写出对应的Mapper,Service,Servlet
时间: 2024-04-01 13:32:44 浏览: 91
好的,针对您的问题,我可以给出以下的Mapper、Service和Servlet的示例代码:
1. Mapper
```java
public interface UserMapper {
// 根据用户id更新用户状态
int updateUserStatusById(@Param("userId") int userId, @Param("status") int status);
}
```
2. Service
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/**
* 根据用户id更新用户状态
* @param userId 用户id
* @return 返回更新结果,1表示成功,0表示失败
*/
public int updateUserStatusById(int userId, int status) {
return userMapper.updateUserStatusById(userId, status);
}
}
```
3. Servlet
```java
@WebServlet("/freeze")
public class FreezeUserServlet extends HttpServlet {
@Autowired
private UserService userService;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取要冻结/解冻的用户id和操作类型(0:解冻,1:冻结)
int userId = Integer.parseInt(request.getParameter("userId"));
int operation = Integer.parseInt(request.getParameter("operation"));
int status = operation == 0 ? 0 : 1;
// 调用Service层更新用户状态
int result = userService.updateUserStatusById(userId, status);
// 返回更新结果
response.getWriter().print(result);
}
}
```
在 user_list.jsp 页面中,点击冻结/解冻按钮时,需要发送 Ajax 请求到 FreezeUserServlet,传递要冻结/解冻的用户id和操作类型,代码示例:
```javascript
// 冻结/解冻用户
function freezeUser(userId, operation) {
$.ajax({
type: "POST",
url: "/freeze",
data: {
"userId": userId,
"operation": operation
},
success: function(result) {
if (result == 1) {
alert("操作成功!");
// 刷新页面
window.location.reload();
} else {
alert("操作失败!");
}
}
});
}
```
这样就完成了点击 user_list.jsp 的冻结/解冻按钮会弹出一个弹窗填入要冻结的用户id,实现如果用户未冻结就冻结用户,如果用户冻结了就解冻用户,冻结的用户不能登录的功能。
阅读全文