Ich möchte Ihre Kommentare und Anregungen zu diesem Thema. Ich mache die Seitenumbruch für eine Seite in jsf. Die Datentabelle ist über das Attribut "binding" an eine Backing Bean-Eigenschaft gebunden. Ich habe 2 boolesche Variablen, um zu bestimmen, ob 'Prev' und 'Next' Button gerendert werden sollen - welcher unterhalb der Datentabelle angezeigt wird. Wenn entweder die Schaltfläche "Zurück" oder "Weiter" angeklickt wird, bekomme ich in der Backing-Bean die gebundene Eigenschaft dataTable, wodurch ich das Attribut "first" und "rows" der Datentabelle erhalte und entsprechend ändere. Ich zeige 5 Zeilen auf der Seite an. Bitte kommentieren Sie und schlagen Sie vor, ob es bessere Möglichkeiten gibt. Übrigens bin ich nicht an irgendwelchen JSF-Komponenten-Bibliotheken interessiert, sondern halte mich nur an den Core-HTML-Render-Kit.Paginierung in JSF
public String goNext()
{
UIData htdbl = getBrowseResultsHTMLDataTable1();
setShowPrev(true);
//set Rows "0" or "5"
if(getDisplayResults().size() - (htdbl.getFirst() +5)>5)
{
htdbl.setRows(5);//display 5 rows
}else if (getDisplayResults().size() - (htdbl.getFirst() +5)<=5) {
htdbl.setRows(0);//display all rows (which are less than 5)
setShowNext(false);
}
//set First
htdbl.setFirst(htdbl.getFirst()+5);
return "success";
}
public String goPrev()
{
setShowNext(true);
UIData htdbl = getBrowseResultsHTMLDataTable1();
//set First
htdbl.setFirst(htdbl.getFirst()-5);
if(htdbl.getFirst()==0)
{
setShowPrev(false);
}
//set Rows - always display 5
htdbl.setRows(5);//display 5 rows
return "success";
}