@RequestMapping("/paging.do/{pageAction}") public String paging(Long pageNo,@PathVariable String pageAction,Model model){ pageNo=1L; if(pageAction.equals("first")){ pageNo=1L; }else if(pageAction.equals("next")){ pageNo=pageNo+1; }else if(pageAction.equals("back")){ pageNo=pageNo-1; }else if(pageAction.equals("last")){ // pageNo=page.getPages(); } Page<User> page=new Page(pageNo,3); // page=(Page<User>) model.getAttribute("page"); model.addAttribute("page",page); return "index"; }
时间: 2024-04-05 12:29:50 浏览: 123
SpringMVC@RequestMapping(重点)@RequestParam@PathVariable示例
这段代码是一个处理分页请求的控制器方法,其中通过 @RequestMapping 注解指定了对于 "/paging.do/{pageAction}" 请求的处理。该方法通过 @PathVariable 注解获取了 URL 中的 pageAction 变量,用于区分请求的类型(首页、上一页、下一页、尾页)。
在方法中,首先将 pageNo 设置为 1,然后根据 pageAction 的值更新 pageNo 的值。接着,创建了一个 Page 对象,用于指定当前页码和每页显示的条数。最后,将查询结果添加到 Model 中,返回到 index 视图页面中展示。
需要注意的是,该代码中的 Page 对象的 pageNo 属性在方法一开始被设置为了 1,这会导致无论用户请求的是哪一页,都只会显示第一页的数据。应该将其设置为方法参数中的 pageNo,才能正确地显示用户需要查看的页面。
此外,该代码中只是更新了 pageNo 的值,但并没有对查询结果进行更新,因此在翻页时会始终显示同一页的数据。如果想要实现正确的翻页功能,应该将之前查询的条件拼接到新的查询条件中,然后再次进行查询。
阅读全文