display:table实现分页功能的例子

xiaoxiao2021-03-01  25

jsp:

<display:table requestURI="${ctx}/usermanager/searchUser.do" id="userList" name="list" pagesize="${pageSize}" partialList="true" size="${resultSize}"> <display:column title="全选" style="text-align:center; width:60px;"> <input id="ids" name="ids" type="checkbox" value="${userList.id}"/> </display:column> <display:column property="name" sortable="true" title="姓名" style="text-align:center" /> <display:column property="name" sortable="true" title="年龄" style="text-align:center" /> <display:column property="name" sortable="true" title="个数" style="text-align:center" /> <display:column property="createDate" sortable="true" title="创建日期" style="text-align:center" /> <display:column title="操作" style="text-align:center"> <a href="${ctx}/usermanager/editUser.do?id=${userList.id}">编辑</a> <a href="${ctx}/usermanager/deleteUserById.do?id=${userList.id}">删除</a> <a href="#">详细</a> </display:column> </display:table>

action :

/** * 分页按条件查询 * @return * @throws Exception */ public String searchUser() throws Exception { String ok = (String)request.getSession().getAttribute("userLogin"); if(ok==null || !ok.equals("LoginSuccess")){ return "userError"; } StringBuffer sqlWhere = new StringBuffer(""); String isSearch = request.getParameter("isSearch");//查询标志 if(isSearch != null && isSearch.equals("yes")) {//表示是查询 String username = request.getParameter("username"); if(username != null&&!username.equals("")) { sqlWhere.append(" and user.d0020 like '%" + username.replaceAll(" ", "") + "%'"); } } else { request.setAttribute("user", null); } sqlWhere.append(" and user.d0910 ='1'"); String pageIndexName = new org.displaytag.util.ParamEncoder("userList").//"user"为jsp页面中<display:table> 的id值 encodeParameterName(org.displaytag.tags.TableTagParameters.PARAMETER_PAGE); //当前索引页 final Integer pageIndex = new Integer(GenericValidator .isBlankOrNull(request.getParameter(pageIndexName)) ? 0 : (Integer.parseInt(request.getParameter(pageIndexName)) - 1)); Map map = userService.searchUser(pageIndex,PAGESIZE_CONSTANT,sqlWhere.toString()); request.setAttribute("list", map.get("result")); request.setAttribute("pageSize", PAGESIZE_CONSTANT); request.setAttribute("resultSize", map.get("total")); return "list"; }

dao:

public Map searchUser(Integer curPage, Integer pageSize,String whereStr) { String sql = "FROM User user"; return queryData2MapByPage(curPage, pageSize, sql, whereStr); }

basedao:

public Map queryData2MapByPage(Integer curPage,Integer pageSize,String sql, String whereStr) { HashMap map = null; try { Session session = SessionFactory.getSession(); String queryStr = sql + " where 1=1"; if (whereStr != null && whereStr.length() > 0) { queryStr += whereStr; } String queryCountStr = "select count(*) " + queryStr; int total = Integer.valueOf((session.createQuery(queryCountStr).iterate().next())+"");//得到总数 Query query = session.createQuery(queryStr); query.setFirstResult(pageSize.intValue() * (curPage.intValue())); query.setMaxResults(pageSize.intValue()); List result = query.list(); map = new HashMap(); map.put("total", total); map.put("result", result); }catch (Exception e){ e.printStackTrace(); } finally { SessionFactory.closeSession(); } return map; }

转载请注明原文地址: https://www.6miu.com/read-4200104.html

最新回复(0)