@RequestMapping("/listPage.do") public String listPage(User user,Model model){ //处理分页 Page<User> page =new Page(1,3); //拼接where QueryWrapper<User> queryWrapper = new QueryWrapper(); if(!StringUtils.isEmpty(user.getName())){ queryWrapper.like("name",user.getName()); } if (!StringUtils.isEmpty(user.getSex())) { queryWrapper.eq("sex",user.getSex()); } if (!StringUtils.isEmpty(user.getAge())) { queryWrapper.eq("age",user.getAge()); } if (!StringUtils.isEmpty(user.getPhone())) { queryWrapper.eq("phone",user.getPhone()); } model.addAttribute("page",userService.page(page,queryWrapper)); return "index"; }
时间: 2024-04-05 14:30:14 浏览: 70
这是一个使用 Spring MVC 框架进行开发的控制器方法,用于处理用户列表的分页展示。该方法使用了 @RequestMapping 注解,用于指定处理请求的 URL 地址。具体来说,该方法处理 "/listPage.do" 请求。
在方法中,首先创建了一个 Page 对象,用于指定当前页码和每页显示的条数。然后使用 QueryWrapper 对象拼接 WHERE 条件,根据用户输入的查询条件进行查询过滤。最后,通过调用 userService 的 page 方法实现分页查询,并将查询结果添加到 Model 中,返回到 index 视图页面中展示。
需要注意的是,该代码中使用了 StringUtils 工具类进行字符串判空操作,需要在代码中引入 StringUtils 类的相关依赖。
相关问题
** * 房子控制器 */ @Controller("backendHouseController") @RequestMapping("/admin/house") public class HouseController extends BaseController { @Autowired private HouseService houseService; /** * 进入房子管理页面 */ @RequestMapping("") public String houseList(@RequestParam(value = "page",defaultValue = "1")Long pageNumber, @RequestParam(value = "size",defaultValue = "6")Long pageSize, Model model){ Page page = PageUtil.initMpPage(pageNumber,pageSize); House condition = new House(); //如果登录用户是管理员,可以查询所有房子;如果登录用户不是管理员,只能查询自己的房子 if(!loginUserIsAdmin()){ condition.setUserId(getLoginUserId()); } Page<House> housePage = houseService.findAll(page,condition); model.addAttribute("pageInfo",housePage); model.addAttribute("pagePrefix","/admin/house?"); model.addAttribute("isAdmin",loginUserIsAdmin()); model.addAttribute("tab","house-list"); return "admin/house-list"; }
这段代码是一个Java Spring MVC的控制器方法,用于处理请求路径为"/admin/house"的GET请求。
该方法使用了@RequestParam注解,获取了两个请求参数:pageNumber和pageSize。其中,pageNumber默认值为1,pageSize默认值为6。
在方法体内,首先使用PageUtil类的initMpPage方法初始化了一个Mybatis Plus的分页对象Page,并将pageNumber和pageSize作为参数传入。然后创建了一个House对象condition,并根据当前登录用户的身份设置其userId属性。如果当前登录用户是管理员,则condition不做修改,可以查询所有房子;如果当前登录用户不是管理员,则将condition的userId属性设置为当前登录用户的ID,只能查询自己的房子。
接着,调用houseService的findAll方法,查询出符合条件的房子列表,并存储在一个Page<House>对象housePage中。
最后,将housePage对象和一些其他参数添加到Model中,返回了一个名为"admin/house-list"的视图。
@ApiOperation(value = "分页", notes = "") @RequestMapping(value = "/page", method = RequestMethod.GET) public String page(@RequestParam(value = "page", defaultValue = "1") int pageNumber, @RequestParam(value = "page.size", defaultValue = Constant.PAGE_SIZE) int pageSize, @RequestParam(value = "sortType", defaultValue = "auto") String sortType, HttpServletRequest request, Model model) { HttpSession session = request.getSession(); User user = (User) session.getAttribute("user"); if (user == null) { return "login"; } //为我们 封装了 动态 查询语句 search_这个 开头 search_EQ_xxxx(字段名称) 就是查询 相等 //search_Like_xxxx 模糊 //EQ, LIKE, GT, LT, GTE, LTE, NOTEQ, ISNULL, ISNOTNULL, ORLIKE, IN, NOTIN Map<String, Object> searchParams = Servlets.getParametersStartingWith(request, "search_"); Page<Appointment> page = appointmentService.getPage(searchParams,pageNumber, pageSize, sortType); model.addAttribute("list", page); return "appointment/list"; }
这段代码是一个用于分页查询的接口方法。它使用了Spring MVC框架,并且通过GET请求访问。该方法接收了一些参数,包括页码(pageNumber)、每页大小(pageSize)、排序类型(sortType),还有HttpServletRequest和Model对象。
该方法首先从HttpServletRequest中获取当前用户的信息,如果用户为空,则返回"login"字符串,表示需要进行登录操作。
接下来,该方法通过使用Servlets工具类,从请求参数中获取以"search_"开头的动态查询参数。这些参数可以用于构建动态查询语句,包括相等查询(search_EQ_xxxx)、模糊查询(search_Like_xxxx)、大于(GT)、小于(LT)、大于等于(GTE)、小于等于(LTE)、不等于(NOTEQ)、为空(ISNULL)、不为空(ISNOTNULL)、或者包含(ORLIKE)、包含于(IN)、不包含于(NOTIN)等。
然后,该方法调用appointmentService的getPage方法,传入查询参数、页码、每页大小以及排序类型,获取分页结果。
最后,将查询结果添加到Model中,返回"appointment/list"字符串,表示跳转到预约列表页面。
阅读全文