JSF - 在java.util.Set上的<ui:repeat />?

Sha*_*man 30 jsf

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

pra*_*eth 74

最简单的方式来完成这笔交易的页面,而无需修改类转换setarray这个样子.

<ui:repeat value="#{myBean.mySet.toArray()}" var="_myvar">
Run Code Online (Sandbox Code Playgroud)


She*_*ari 37

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

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

public List<T> getListFromSet(Set<T> set) {
  return new ArrayList<T>(set);
}
Run Code Online (Sandbox Code Playgroud)

你应该避免使用c:forEach; 这是一篇关于原因的文章.

  • 由于JSF中的吸气剂通常被称为[几次](/sf/ask/146302341/),所以这可能是一个昂贵的解决方案。 (2认同)