SSH 페이지 분할 요약 정보

2587 단어
1. DAO 계층
사용자 정보 얻기
	@SuppressWarnings("unchecked")
	@Override
	public List<User> paging(int pageNow, int pageSize) {
		Session session = hibernateTemplate.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		Query q = session.createQuery("from User u");
		q.setFirstResult(pageSize * (pageNow - 1));
		q.setMaxResults(pageSize);
		this.list = q.list();
		session.getTransaction().commit();
		return list;
	}

총 사용자 확보
	@Override
	public int getTotalUser() {
		int totalUser = hibernateTemplate.find("from User").size();
		return totalUser;
	}

2. 서비스 계층
상응하는 방법의 호출
	@Override
	public List<User> pagingOption(int pageNow, int pageSize) {
		List<User> list = userDAO.paging(pageNow, pageSize);
		return list;
	}

	@Override
	public int getTotalUser() {
		return userDAO.getTotalUser();
	}

3、Action
페이지 번호 저장을 위한 속성 설정
	private List<Integer> pageList = new ArrayList<Integer>();

페이지 나누기 관련 속성
	private int pageNow = 1;	//   
	private int pageSize = 2;	//       
	private int totalPage;	//   
	private int totalSize;	//    

페이지 나누기 방법
	public void pagingMethod() {
		totalSize = userManager.getTotalUser();
		if (totalSize % pageSize == 0) {
			totalPage = totalSize / pageSize;
		} else {
			totalPage = totalSize / pageSize + 1;
		}
		list = userManager.pagingOption(pageNow, pageSize);
		
		//        List   ,   JSP       
		for (int i = 1; i <= totalPage; i++) {
			pageList.add(i);
		}
	}

4. JSP 디스플레이 레이어
	   ${totalPage}   ${pageNow} 
	<!--        -->
	<a href="browsePaging?pageNow=1">  </a>
	<s:if test="%{pageNow > 1}">
		<a href="browsePaging?pageNow=${pageNow - 1}">   </a>
	</s:if>
	
	<!--       -->
	<s:iterator value="pageList" var="pageNum">
		<s:if test="pageNow == #pageNum">${pageNow}</s:if>
		<s:else>
			<a href="browsePaging?pageNow=<s:property value='#pageNum'/>"><s:property value="#pageNum" /></a>
		</s:else>
	</s:iterator>
	
	<!--        -->
	<s:if test="%{totalPage > pageNow}">
		<a href="browsePaging?pageNow=${pageNow + 1}">   </a>
	</s:if>
	<a href="browsePaging?pageNow=${totalPage}">  </a>
	<br />
	<br />

좋은 웹페이지 즐겨찾기