JSF dataTable 添加列 动态创建数据表 列
时间: 2023-10-22 17:06:25 浏览: 205
你可以使用JSF的dataTable组件,在JavaBean中动态创建列和数据,然后将它们绑定到dataTable组件上。
以下是一个示例:
在JSF页面中,使用dataTable组件来显示数据:
```
<h:dataTable value="#{myBean.data}" var="item">
<h:column>
<f:facet name="header">
<h:outputText value="Column 1" />
</f:facet>
<h:outputText value="#{item.column1}" />
</h:column>
</h:dataTable>
```
在JavaBean中,创建一个包含数据和列的方法:
```
private List<Map<String, Object>> data;
private List<String> columns;
public void createData() {
// create columns
columns = new ArrayList<String>();
columns.add("Column 1");
columns.add("Column 2");
columns.add("Column 3");
// create data
data = new ArrayList<Map<String, Object>>();
Map<String, Object> row = new HashMap<String, Object>();
row.put("Column 1", "Data 1");
row.put("Column 2", "Data 2");
row.put("Column 3", "Data 3");
data.add(row);
}
```
在构建JavaBean时,调用createData方法以动态创建数据和列:
```
@ManagedBean
@RequestScoped
public class MyBean {
// ...
public MyBean() {
createData();
}
// ...
}
```
这样,当页面被加载时,dataTable将显示动态创建的列和数据。
阅读全文