gpt4 book ai didi

java - 在 JSF2.0 中动态创建和填充 DataTable

转载 作者:搜寻专家 更新时间:2023-10-31 19:47:43 24 4
gpt4 key购买 nike

我有个小问题。当我想在 JSF 中填充 DataTable 时,我必须先创建一个模型,然后在我的 View 中使用它。喜欢 Primefaces 示例 here .

现在,我必须创建将显示来自网络服务的数据的 DataTable。我不知道会有多少列,我也不知道它们的名字...你能推荐一些明智的解决方案吗?

附言。我也不知道如何从 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);
}

最佳答案

List<Map<String, Object>> 中收集数据代表 rows属性(property)。 Map表示列,以列名为键(如有必要,只需自动生成,例如 column1column2column3 等由 "column" + i 生成)。在单独的 List<String> 中收集这些列名称代表 columns属性(property)。最后通过<p:columns>显示如下:

<p:dataTable value="#{bean.rows}" var="row">
<p:columns value="#{bean.columns}" var="column">
#{row[column]}
</p:columns>
</p:dataTable>

关于java - 在 JSF2.0 中动态创建和填充 DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13970285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com