Mar*_*all 5 java jsf web-services primefaces jsf-2
我在那里遇到一点问题.当我想在JSF中填充DataTable时,我必须先创建一个模型,然后在我的视图中使用它.像Primefaces样品这里.
现在,我必须创建将显示来自webservice的数据的DataTable.我不知道会有多少列,而且我不知道他们的名字......你能推荐一些明智的解决方案吗?
PS.我不知道如何从webservice返回数据 - 它仍然是要确定的.
编辑
public Bean() {
columns = new ArrayList<String>();
rows = new ArrayList<Map<String, Object>>();
populateColumns(columns,4);
for(int i = 0 ; i < 6 ; i++)
{
Map<String,Object> m = new HashMap<String,Object>();
m.clear();
for(int j = 0 ; j < 4 ; j++)
{
m.put("Column" + j, "sth" + j + i);
}
rows.add(m);
}
}
private void populateColumns(List<String> list, int size) {
for(int i = 0 ; i < size ; i++)
list.add("Column" + i);
}
Run Code Online (Sandbox Code Playgroud)
收集List<Map<String, Object>>表示rows属性的数据.的Map表示列,由列名键控(如果必要的话,就自动生成如column1,column2,column3等通过"column" + i).将这些列名称收集在一个List<String>表示columns属性的单独名称中.最后通过以下方式显示<p:columns>:
<p:dataTable value="#{bean.rows}" var="row">
<p:columns value="#{bean.columns}" var="column">
#{row[column]}
</p:columns>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6780 次 |
| 最近记录: |