JSF - <ui:repeat> over java.util.Set?</ui:repeat>

时间:2010-10-25 18:23:51

标签: jsf

<ui:repeat />标记是否支持迭代java.util.Set?我已经尝试迭代Set中包含的JPA域实体对象,但是收到错误。有什么我想念的吗?是否需要存在其他标志?

3 个答案:

答案 0 :(得分:71)

在不修改课程的情况下在网页上完成交易的最简单方法是将set转换为此类array

<ui:repeat value="#{myBean.mySet.toArray()}" var="_myvar">

答案 1 :(得分:37)

不,ui:repeat不支持Set,也不支持h:dataTable

您应该从Set中返回一个List,然后使用它。

public List<T> getListFromSet(Set<T> set) {
  return new ArrayList<T>(set);
}

您应该避免使用c:forEach; here is an article on why

答案 2 :(得分:0)

请考虑使用c:forEach。似乎ui:repeat不支持集合(即需要某种排序属性)。

否则,您可以创建自己的标记,如下所述: http://techblog.bozho.net/?p=28