在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