在Primefaces 5.1(Tomcat的8和Servlet 3.0)的嵌套列表可以通过使用List<Objects>
数据网格,DataList的,数据表等迭代..例如:迭代通过对象
<p:dataTable var="car" value="#{dtBasicView.cars}">
<p:column headerText="Id">
<h:outputText value="#{car.id}" />
</p:column>
</p:dataTable>
控制器:
@ManagedBean(name="dtBasicView")
@ViewScoped
public class BasicView implements Serializable {
private List<Car> cars;
@ManagedProperty("#{carService}")
private CarService service;
@PostConstruct
public void init() {
cars = service.createCars(10);
}
public List<Car> getCars() {
return cars;
}
public void setService(CarService service) {
this.service = service;
}
}
但说Car
对象具有类似于washes
一个属性,因此,当我做:
<h:outputText value="#{car.washes}" />
在dataTable里面它返回一个List<Washes>
的列表。我无法选择索引,因此如何迭代数据表中的List<Washes>
?
我知道我可以在数据表中创建一个dataGrid,然后按照与汽车一样的方式来遍历洗涤列表。但是这会创建一个新的“在其中一个单元格内具有边框的HTML表格”。我如何才能迭代虽然名单和输出从洗字符串:#{washes.foo}
更新:
Property 'foo' not found on type org.hibernate.collection.internal.PersistentSet
当我:试图使用<ui:repeat>
按照答案时,我得到这个错误使用<p:dataGrid>
而不是<ui:repeat>
它的工作原理。
而且,我返回集而不是一个列表,所以我只好用指定者()
您好,我试过UI:重复和h:dataTable的,但他们不会显示#{wash.foo }当我尝试p:dataGrid它工作的文本。这可能是因为我使用了主要面孔。我怎样才能得到这个面对主要面孔? – wwjdm
''需要''。 ''必须以通常的方式工作。如果两者仍然不起作用,请确保您没有忘记'xmlns:h'和'xmlns:ui'。 –
BalusC
嗨,我有xmlns:h和xmlns:ui但它们不适用于主要面孔5.2 –
wwjdm