我有以下内容来显示数据。
<p:dataGrid
id="employeeList"
var="employee"
rowIndexVar="rowIndex"
value="#{sampleController.employeeRecords}"
columns="1"
layout="grid"
rows="10"
paginator="true"
emptyMessage="No items to display..." > ..... </p:dataGrid>
我的controller(sampleController)
有以下getter setter
private List<EmployeeVo> employeeRecords;
public List<EmployeeVo> getEmployeeRecords()
{
return employeeRecords;
}
public List<EmployeeVo> setEmployeeRecords()
{
return employeeRecords;
}
还有一个方法可以将值设置为employeeRecords
,如下所示
public void loadEmployee(){
List<EmployeeVo> list = //call to DB
setEmployeeRecords(list);
}
除分页外,一切正常。每当我点击page numbers
时,控件都会多次进入getter方法(setEmployeeRecords()),并且列表中的值会被操纵,最终结果也不合适。
为什么点击页码会将我带到getter方法,而不是在客户端级别管理?
注意我没有做任何getter或setter。他们是普通的吸气者和制定者。设置值仅在以下
中完成一次public void loadEmployee(){
List<EmployeeVo> list = //call to DB
setEmployeeRecords(list);
}
每当我点击页码时,呼叫也永远不会到那里。
感谢。