5
我想你的意見和建議。我正在爲jsf中的頁面進行分頁。數據表通過「綁定」屬性綁定到Backing Bean屬性。我有2個布爾變量來決定是否渲染'Prev'和'Next'按鈕 - 它顯示在數據表下面。當單擊「Prev」或「Next」按鈕時,在backing bean中,我獲得綁定的dataTable屬性,並通過它獲取數據表的「first」和「rows」屬性並相應地進行更改。我在頁面中顯示5行。請評論並建議是否有更好的方法。順便說一句,我對任何JSF組件庫不感興趣,但只堅持核心HTML渲染工具包。分頁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";
}