- @RequestMapping("list.html")
- public String list(Model model, HttpServletRequest request) {
- String sqlId = "menu.mysql.selectMenu";
- / list = MybatisUtils.selectList(sqlId, SpringUtils.getParameter(request));
- Page<Object> list = (Page<Object>) MybatisUtils.selectListByPage(sqlId, SpringUtils.getParameter(request));
- / model.addAttribute("list", new PageInfo(list));
- model.addAttribute("pageNum", list.getPageNum());
- model.addAttribute("pages", list.getPages());
- model.addAttribute("list", list);
- return "menu/list";
- }
- @SuppressWarnings("unchecked")
- public static <E> List<E> selectListByPage(String sqlId,Object parameter){
- Map<String, Object> map = (Map<String, Object>) parameter;
- String page = (String) map.get("page");
- int pageNum = 1;
- if(page != null && page.trim().length() != 0){
- pageNum = Integer.parseInt(page);
- }
- PageHelper.startPage(pageNum, Constant.pageSize, true);
- List<Object> result = getSqlSession(sqlId).selectList(sqlId, parameter);
- return dealMapResult(result);
- }
list.jsp
- <c:forEach items="${list}" var="item">
- <tr id='<c:out value="${item.menuId}"/>' align="left">
- <td><c:out value="${item.parentId}"/></td>
- <td><c:out value="${item.menuId}"/></td>
- <td><c:out value="${item.menuName}"/></td>
- <td><c:out value="${item.url}"/></td>
- <td><c:out value="${item.title}"/></td>
- <td><c:out value="${item.leaf}"/></td>
- <td><c:out value="${item.orderSeq}"/></td>
- <td onclick='goEdit(<c:out value="${item.menuId}"/>)'>编辑</td>
- <td onclick='doDelete(<c:out value="${item.menuId}"/>)'>删除</td>
- </tr>
- </c:forEach>
- <tfoot>
- <tr>
- <td colspan="9" align="center" class="p">
- <c:if test="${pageNum != 1}">
- <a href="list.html?query=a&page=${pageNum - 1}">上一页</a>
- </c:if>
- <c:if test="${pages != 1}">
- <c:forEach var="pageIndex" begin="1" end="${pages}">
- <c:choose>
- <c:when test="${pageNum == pageIndex}">
- <a>${pageIndex}</a>
- </c:when>
- <c:otherwise>
- <a href="list.html?query=a&page=${pageIndex}">${pageIndex}</a>
- </c:otherwise>
- </c:choose>
- </c:forEach>
- </c:if>
- <c:if test="${pageNum != pages}">
- <a href="list.html?query=a&page=${pageNum+1}">下一页</a>
- </c:if>
- </td>
- </tr>
- </tfoot>
mybatis-config.xml
- <plugins>
- <!-- packageName为PageHelper类所在包名 -->
- <plugin interceptor="org.me.common.util.PageHelper">
- <property name="dialect" value="mysql"/>
- </plugin>
- </plugins>
Page<E>
(可以直接按
List
使用),方便在页面使用EL表达式,如
${page.pageNum}
,
${page.total}
对这种方式使用,一种是如果直接用Page包装list,还要单独get出来,再设置回去model.addAttribute("pageNum", list.getPageNum());
第二种是使用PageInfo对list再包装一次,页面就可以直接使用model.addAttribute("list", new PageInfo(list));
Mybatis_PageHelper