【发布时间】:2014-08-29 11:41:21
【问题描述】:
我正在使用 JSF2 和 Primefaces 5 实现我的第一个应用程序。 我希望当用户按下按钮时,我的托管 bean 创建一个新的 DataTable 并用一些数据填充它。我怎样才能从我的托管 bean 中做到这一点? 这是我的托管 bean 代码的一部分。
...
//This is the managed bean's method executed when the user presses the button.
public void execute() {
...
//Get the data from database and put the entries in a list of java beans called myList.
//Here I create a ListDataModel to convert myList in a DataModel to pass to the datatable
ListDataModel<myJavaBean> tableData = new ListDataModel<myJavaBean>(myList);
//Then I create a new datatable..
DataTable dataTable = new DataTable();
//.. and I set the data
dataTable.setValue(tableData);
//I define the columns
Column idColumn = new Column();
idColumn.setHeaderText("id");
Column dateColumn = new Column();
dateColumn.setHeaderText("date");
Column timeColumn = new Column();
timeColumn.setHeaderText("time");
Column stateColumn = new Column();
stateColumn.setHeaderText("state");
//Here I add the columns to the table
dataTable.getChildren().add(idColumn);
dataTable.getChildren().add(dateColumn);
dataTable.getChildren().add(timeColumn);
dataTable.getChildren().add(stateColumn);
...
当我按下按钮时,这部分代码会创建一个具有正确列数和正确标题的新 DataTable。 此外,行数是正确的,但行完全是空的,我想这是因为我没有将列与列表的相应 java bean 属性绑定。我该怎么做?
【问题讨论】:
标签: jsf jsf-2 primefaces datatable managed-bean