public DataGridResult dataSummaryViews(HttpSession session, @JsonFormat JxMjQjcsVO vo,String flag){ try { page = page == null ? 1 : page; limit = limit == null ? 15 : limit; PageHelper.startPage(page, limit); List<Map> resultLists = jxmjQjcsService.dataSummaryViews(vo, jsbh, mjbh, mjxm, flag); PageInfo<Map> pageInfo = new PageInfo<>(resultLists); return DataGridResult.ok(pageInfo.getTotal(), pageInfo.getList()); } catch (Exception e) { log.error(e.getMessage(), e); return DataGridResult.errorWithMsg(e.getMessage()); } } 分页不起作用
时间: 2024-01-03 19:03:04 浏览: 65
根据你提供的代码,我发现你在方法参数中并没有包含page和limit参数,也就是说你没有从请求中获取到这两个参数的值,因此在方法中的page和limit变量始终为null,导致分页无法正常工作。
为了解决这个问题,你需要在方法参数中添加page和limit参数,并使用@RequestParam注解来获取这两个参数的值,例如:
```
public DataGridResult dataSummaryViews(HttpSession session, @RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "15") Integer limit, @JsonFormat JxMjQjcsVO vo, String flag) {
```
这样就可以从请求中获取到page和limit参数的值,从而让分页正常工作。
相关问题
@RequestMapping("dataSummaryViews") public DataGridResult dataSummaryViews(HttpSession session, @JsonFormat JxMjQjcsVO vo,String flag,Integer page,Integer limit){ try { Integer jsbh = (Integer) session.getAttribute(UserConstants.SESSION_JSBH); String mjbh = (String) session.getAttribute(UserConstants.SESSION_MJBH); String mjxm = (String) session.getAttribute(UserConstants.SESSION_MJXM); jxmjQjcsService.checkLimitAndPage(vo.getPage(), vo.getLimit()); List<Map> resultLists = jxmjQjcsService.dataSummaryViews(vo, jsbh, mjbh, mjxm, flag); PageInfo<Map> pageInfo = new PageInfo<>(resultLists); return DataGridResult.ok(pageInfo.getTotal(), pageInfo.getList()); } catch (Exception e) { log.error(e.getMessage(), e); return DataGridResult.errorWithMsg(e.getMessage()); } }分页不起作用
根据你提供的代码,我发现你已经在方法参数中添加了page和limit参数,并使用@RequestParam注解来获取这两个参数的值,但是你在调用jxmjQjcsService.checkLimitAndPage方法时,使用了vo.getPage()和vo.getLimit()来获取page和limit的值,这很可能导致分页无法正常工作。
为了解决这个问题,你需要修改jxmjQjcsService.checkLimitAndPage方法,使其接收page和limit作为参数,并进行校验。然后在调用dataSummaryViews方法时,将从@RequestParam注解中获取到的page和limit参数传递给它,例如:
```
public DataGridResult dataSummaryViews(HttpSession session, @JsonFormat JxMjQjcsVO vo, String flag,
@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "15") Integer limit) {
try {
Integer jsbh = (Integer) session.getAttribute(UserConstants.SESSION_JSBH);
String mjbh = (String) session.getAttribute(UserConstants.SESSION_MJBH);
String mjxm = (String) session.getAttribute(UserConstants.SESSION_MJXM);
jxmjQjcsService.checkLimitAndPage(page, limit);
List<Map> resultLists = jxmjQjcsService.dataSummaryViews(vo, jsbh, mjbh, mjxm, flag, page, limit);
PageInfo<Map> pageInfo = new PageInfo<>(resultLists);
return DataGridResult.ok(pageInfo.getTotal(), pageInfo.getList());
} catch (Exception e) {
log.error(e.getMessage(), e);
return DataGridResult.errorWithMsg(e.getMessage());
}
}
```
这样就可以通过@RequestParam注解获取到page和limit参数,并将它们传递给jxmjQjcsService.dataSummaryViews方法,从而让分页正常工作。
@Controller @RequestMapping("/file") public class FileController extends BaseController { /** * 文件上传 */ @RequestMapping(value = "/upload", method = RequestMethod.POST) @ResponseBody public JsonResult upload(@RequestParam("file")MultipartFile file, @RequestParam("key")String key, HttpSession session){ Map<String,String> map = new HashMap<>(); try { map = FileUtil.upload(file); } catch (Exception e) { e.printStackTrace(); return JsonResult.error("上传失败"); } String filePath = map.get("filePath"); //将图片URL存在session中 String sessionKey = Constant.SESSION_IMG_PREFIX + key; List<String> imgList = (List<String>) session.getAttribute(sessionKey); if(imgList == null){ imgList = new ArrayList<>(); } imgList.add(filePath); session.setAttribute(sessionKey,imgList); return JsonResult.success("上传成功"); } }
这段代码是一个 Java Spring MVC 的控制器,用于处理文件上传的请求。该控制器对应的请求 URL 是 "/file/upload",请求方法为 POST。在请求参数中,有一个名为 "file" 的文件参数和一个名为 "key" 的字符串参数。其中,"file" 参数用于上传文件,"key" 参数用于标识上传的文件类型。在文件上传成功后,该控制器将文件路径存储在 HttpSession 中,以便后续处理。同时,该控制器返回一个 JsonResult 对象,其中包含上传结果的信息。
阅读全文