JAVA JAVA 使用JAVA SSM框架遇到的一些坑 Star 2021-11-24 2024-09-03 分页操作 使用MyBatis 分页插件 - PageHelper
在使用前先导包
1 2 import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;
在Impl中使用
1 2 3 4 5 public PageInfo<Role> selectRoleByPager (List roleDatas, int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); PageInfo<Role> info = new PageInfo <>(roleDatas); return info; }
不传值时记得定义分页变量,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 @AuthMethod @RequestMapping(value="/admin/roleSearch.html",method=RequestMethod.POST) public String searcerUsers (Model model,String roleInfo) { List<Role> Roles = roleService.selectroleBySearch(roleInfo); int pageNum = 1 ; int pageSize = 10 ; PageInfo<Role> roles = roleService.selectRoleByPager(Roles,pageNum, pageSize); System.err.println("测试" +roles); System.err.println("测试" +roleInfo); model.addAttribute("Roles" , roles); return "admin/role" ; }
在jsp中引用时如下:
1 2 3 4 5 6 7 8 9 10 11 12 总共有<span>${Roles.total}</span>记录,当前页<span> ${Roles.pageNum} / ${Roles.pages} </span>页 <a href="${pageContext.request.contextPath}/admin/roleManager.html?pageNum=1&pageSize=10" type="button" class="btn btn-default" >首页</a> <a href="${pageContext.request.contextPath}/admin/roleManager.html?pageNum=${Roles.prePage}&pageSize=10" type="button" class="btn btn-default" >上一页</a> <a href="${pageContext.request.contextPath}/admin/roleManager.html?pageNum=${Roles.nextPage}&pageSize=10" type="button" class="btn btn-default" >下一页</a> <a href="${pageContext.request.contextPath}/admin/roleManager.html?pageNum=${Roles.pages}&pageSize=10" type="button" class="btn btn-default" >尾页</a>
c:forEach的报错 原因是jsp页面没有引用下面这行代码
1 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
提交中文数据乱码 首先确定项目和数据库编码均为UTF-8格式,页面中也有设置编码格式为UTF-8
针对页面中乱码的处理,在web.xml中添加spring框架的编码过滤器配置:1 2 3 4 5 6 7 8 9 10 11 12 <filter > <filter-name > CharacterEncodingFilter</filter-name > <filter-class > org.springframework.web.filter.CharacterEncodingFilter</filter-class > <init-param > <param-name > encoding</param-name > <param-value > UTF-8</param-value > </init-param > </filter > <filter-mapping > <filter-name > CharacterEncodingFilter</filter-name > <url-pattern > /*</url-pattern > </filter-mapping >
针对mybatis做数据更新产生的乱码处理,在数据库配置后加编码限制:1 ?useUnicode=true&characterEncoding=utf8
经测试,可以完美解决“中文乱码”的问题。