我正在使用这些课程:
ShoppingCart <-ManyToMany-> Item <-ManyToOne-> ItemCategory
所有这些都是JPA @Entity
s,其中包含关联的相关getter和setter:
public class ShoppingCart {
...
@ManyToMany
public List<Item> getItems() {
return items;
}
...
}
public class Item {
...
@ManyToOne
public ItemCategory<Item> getCategory() {
return category;
}
...
}
public class ItemCategory {
...
}
让我说我有:
ItemCategory1中的Item1,Item2,Item3
ItemCategory2中的Item4,Item5,Item6
我正在尝试构建一个页面,您可以选择这样的shoppingcart.items:
ItemCategory1: +-----------+
| Item1 |
| Item2 |
| Item3 | (multi-select with Ctrl)
+-----------+
ItemCategory2: +-----------+
| Item4 |
| Item5 |
| Item6 | (multi-select with Ctrl)
+-----------+
如何使用JSF / Facelets / Seam执行此操作?
您对UI有更好的建议吗? (我不希望它是基于树的或单个列表框)
感谢。
答案 0 :(得分:1)
在初始化对象初始化的方法(可能是@PostConstruct
)中,拆分值。例如在
private Map<ItemCategory<Item>, List<Item>> itemsByCategory;
然后用
进行迭代<ui:repeat value="#{bean.itemsByCategory.entries}" var="entry">
// show inputs, using entry.key and entry.value
</ui:repeat>