【发布时间】:2018-04-15 03:51:42
【问题描述】:
我对 JSF 不太了解,我已经搜索过但在网上找不到类似的答案,请我需要帮助。我在下面有一组可以增长的示例表,不确定每辆车有多少行。
...................................................
| ID | Car | Year | Colour |
|.................................................|
| 37efcc3e | Audi | 1994 | Green |
| 2aacdbd4 | Audi | 2009 | Yellow |
| 5dd57389 | BMW | 1989 | Green |
| 94f32d8a | BMW | 1978 | Orange |
| d03b3af1 | BMW | 2001 | Green |
| 7ca88a0b | Ford | 1964 | Silver |
我想在下面使用 div 来实现这一点
Audi
1994 Green 37efcc3e
2009 Yellow 2aacdbd4
BMW
1989 Green 5dd57389
1978 Orange 94f32d8a
2001 Green d03b3af1
Ford
1964 Silver 7ca88a0b
我如何使用 JSF 或 Primefaces repeat 而不是 dataTable 来实现这一点。
用普通的java
List<Product> productList;
for (Product product1 : productList) {
for (Product product2 : productList) {
if(product1.getCar().equals(product2.getCar())) {//check if car changes
}
}
}
Or can use set
Set<Product> set = new HashSet<Product>(productList);
if(set.size() < list.size()){//check if car changes
}
Primefaces 有行分组或用表格分组行,我只是想知道如何通过重复来做到这一点
【问题讨论】:
-
尝试在纯 java 中执行此操作,并将两个循环打印到控制台。然后你也有你重复的“解决方案”
-
@Kukeltje 在纯 Java 中,当列表来自一个表并且汽车列值未知时,我如何使用两个循环来做到这一点?就像我说的 JSF 新手,我需要解决这个问题。
-
如前所述,如果您无法在纯 java 中实现这一点,那么您的基本问题与 jsf 无关。您甚至可以在一个循环中完成。基本编程...所以概括您的问题并在 Stackoverflow 上搜索您几乎制定的问题的答案...
-
@Kukeltje 对我放心,我还不如你还在学习。用纯 java 循环它会在每一行重复显示汽车品牌,然后显示带有年份、颜色和 id 值的记录。我的情况是,如果一个汽车品牌(例如奥迪)有 100 条记录,我怎么能只在第一行显示汽车的名称,然后显示具有其他值的汽车品牌的 100 条记录。
-
是的,我完全 1000% 理解您的问题,我可以提供一个可行的解决方案(现在提供帮助),但这样我可以帮助您学习思考不同的方式(现在和未来的帮助)您也可以(应该)尝试在纯 java 中实现这一点。考虑有条件地将东西打印到控制台......然后考虑条件(第一次和每次“汽车”发生变化)。
标签: jsf primefaces uirepeat