请描述以下代码: @PostMapping("/list") @ResponseBody public TableDataInfo list(UserOperateModel userModel) { TableDataInfo rspData = new TableDataInfo(); List<UserOperateModel> userList = new ArrayList<UserOperateModel>(users.values()); // 查询条件过滤 if (StringUtils.isNotEmpty(userModel.getSearchValue())) { userList.clear(); for (Map.Entry<Integer, UserOperateModel> entry : users.entrySet()) { if (entry.getValue().getUserName().equals(userModel.getSearchValue())) { userList.add(entry.getValue()); } } } else if (StringUtils.isNotEmpty(userModel.getUserName())) { userList.clear(); for (Map.Entry<Integer, UserOperateModel> entry : users.entrySet()) { if (entry.getValue().getUserName().equals(userModel.getUserName())) { userList.add(entry.getValue()); } } } PageDomain pageDomain = TableSupport.buildPageRequest(); if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) { rspData.setRows(userList); rspData.setTotal(userList.size()); return rspData; } Integer pageNum = (pageDomain.getPageNum() - 1) * 10; Integer pageSize = pageDomain.getPageNum() * 10; if (pageSize > userList.size()) { pageSize = userList.size(); } rspData.setRows(userList.subList(pageNum, pageSize)); rspData.setTotal(userList.size()); return rspData; }
时间: 2024-02-14 14:34:02 浏览: 67
springMVC前台传数组类型,后台用list类型接收实例代码
这段代码实现了一个Spring Boot的Controller,处理POST请求,路径为/list。该方法使用了@PostMapping和@ResponseBody注解,表示将返回结果转化为JSON格式并返回给前端。
该方法的参数为一个UserOperateModel对象,其实现了分页查询和过滤条件查询。方法内部首先将所有用户信息存储在users中,并根据查询条件进行过滤,将符合条件的用户信息添加到userList中。
接下来,使用TableSupport.buildPageRequest()方法获取分页信息,并根据分页信息将userList进行分页,并将分页后的结果设置到TableDataInfo对象中,最后将TableDataInfo对象作为返回值返回给前端。
阅读全文