2013-12-10 5 views
0

페이징 제어를 나타내고, 다음의 :로JSP로 표시 테이블이없는 내가 페이징을 수행하는 JSP로 표시 테이블을 사용

<display:table pagesize="${pageSize}" style="width=100%" cellpadding="10" 
          name="publishedExams" id="exam" moduleAware="true" 
          cellspacing="0" requestURI=""> 
          <display:column property="grade" style="width=20%" 
          title="${textResources['ListStudentFinishedExam.MaxGrade']}"/> 
    </display:table> 

pageSize로서가 JSP로 VAR이고 그 값은 publishedExams가 8

public static List getPage(Query query, int page, int pageSize) 
     throws FinderException { 

    List results; 
    query.setFirstResult(((page - 1) * pageSize)); 
    query.setMaxResults(pageSize); 
    results = query.list(); 
    return results; 
    } 

} 
:

가 publishedExams는 다음과 같은 방법을 사용하여 채워집니다 학년라는 속성이 객체 목록

이 메서드에 전달 된 쿼리는 dbms에서 11 개 항목을 반환하지만이 메서드를 통해 전달 된 경우에만 8을 반환합니다.

문제는 페이지 매기기 컨트롤이 나타나지 않습니다. 목록을 반환 할 때 데이터베이스 (11)에서 반환 된 실제 번호가 포함되어 있고 그 중 하나만 사용하는 것입니다. query.list() 실제 이유를 알지 못했습니다. 그

+0

페이지 크기를 증가 시키려고 했습니까 ?? –

답변

0

이것은 논리적입니다. 페이지 크기 8을 정의하면 페이지 당 8 개의 항목이 표시됩니다. 따라서 최대 8 개 항목까지 페이지 매김 할 것이 없습니다. 디스플레이 테이블은 지능적으로 페이지 컨트롤을 숨 깁니다. 항상 표시하고 싶다면 옵션이있을 수 있습니다.