一直很忙 demo一直沒有寫,最近忙著換工作空閑之餘,寫一下分頁排序的 Demo 其實 也是比較簡單的
順便也錄了一個小視頻 http://115.com/file/c2ik04qy
JSP 頁面
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <form id="pagerForm" method="post" action="user!searchUser.do"><input type="hidden" name="status" value="${param.status}"><input type="hidden" name="keywords" value="${param.keywords}" /><input type="hidden" name="pageNum" value="1" /><input type="hidden" name="numPerPage" value="${model.numPerPage}" /><input type="hidden" name="orderField" value="${param.orderField}" /><input type="hidden" name="orderDirection" value="${param.orderDirection}" /></form><div class="pageHeader"><form onsubmit="return navTabSearch(this);" action="user!searchUser.do" method="post"><div class="searchBar"></div></form></div><div class="pageContent"><div class="panelBar"><ul class="toolBar"><li class="line">line</li></ul></div><table class="table" width="100%" layoutH="90"><thead><tr><th width="80">序號</th><th width="120" orderField="name" <c:if test='${param.orderField == "name" }'> class="${param.orderDirection}" </c:if> >名字</th><th width="120" orderField="realName" <c:if test='${param.orderField == "realName" }'> class="${param.orderDirection}" </c:if> >真實姓名</th><th width="120" orderField="sex" <c:if test='${param.orderField == "sex" }'> class="${param.orderDirection}" </c:if> >性別</th><th >phone</th></tr></thead><tbody> <c:forEach var="p" items="${pages.pages}" varStatus="status" > <tr target="sid" rel="${p.id}"><td>${status.count + (pages.pageNo-1)*pages.pageSize}</td><td>${p.name}</td><td>${p.realName}</td><td>${p.sex}</td><td>${p.phone}</td></tr> </c:forEach></tbody></table><div class="panelBar"><div class="pages"><span>顯示</span><select class="combox" name="numPerPage" onchange="navTabPageBreak({numPerPage:this.value})"><option value="20">20</option><option value="50">50</option><option value="100">100</option><option value="200">200</option></select><span>條,共${pages.count}條</span></div><div class="pagination" targetType="navTab" totalCount="${pages.count}" numPerPage="${pages.pageSize}" pageNumShown="10" currentPage="${pages.pageNo}"></div></div></div>
重點是
<input type="hidden" name="orderField" value="${param.orderField}" /><input type="hidden" name="orderDirection" value="${param.orderDirection}" />要和Action的屬性對上
<c:if test='${param.orderField == "name" }'> class="${param.orderDirection}" </c:if> 用來切換 表徵圖 點擊時切換 排序類型
Action 層
package com.web.action;import javax.annotation.Resource;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import com.web.model.User;import com.web.service.UserService;/** * * @author Administrator * */@Controller()@Scope("prototype")public class UserAction extends BaseAction {private User user = new User();@Resourceprivate UserService userService;private String orderField;private String orderDirection;/** * 查詢使用者 * @return */public String searchUser(){pages = userService.searchUser(pages.getPageNo(), pages.getPageSize(), user, orderField ,orderDirection);return RESULT;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}public UserService getUserService() {return userService;}public void setUserService(UserService userService) {this.userService = userService;}public String getOrderField() {return orderField;}public void setOrderField(String orderField) {this.orderField = orderField;}public String getOrderDirection() {return orderDirection;}public void setOrderDirection(String orderDirection) {this.orderDirection = orderDirection;}}
重點是
private String orderField;private String orderDirection;一般寫到BaseAction中就行了
Service層
package com.web.service.impl;import com.dwz.util.Pages;import org.springframework.stereotype.Service;import javax.annotation.Resource;import com.web.model.User;import com.web.dao.UserDao;import com.web.service.UserService;@Service("userService")public class UserServiceImpl implements UserService {@Resourceprivate UserDao userDao;@Overridepublic User getUser(int id) {return userDao.get(id);}@Overridepublic void addUser(User user) { userDao.insert(user);}@Overridepublic void updateUser(User user) { userDao.update(user);}@Overridepublic void deleteUser(int id) { userDao.delete(id);}@Overridepublic void reportUser(User user) { userDao.insertOrUpdate(user ,user.getId());}@Overridepublic Pages searchUser(int pageNo ,int pageSize ,User user , String orderField ,String orderDirection){ String where = " where 1 = 1"; if(orderField!=null&&!orderField.trim().equals("")){ if(orderDirection==null||orderDirection.trim().equals("")){ orderDirection = "asc"; } where +=" order by "+orderField +" "+orderDirection; } return userDao.listInPages(pageNo, pageSize, where);}}
其是比較簡單 希望對大家有協助
轉載請標明出處 :http://blog.csdn.net/jiweigang1/article/details/7771597