2012-12-05 51 views
0

我在Bean類中有一個方法,它返回ArrayList<String>PlacesList[Akividu, House, Shopping Store, Sri Malleswara and Venkateswara Temple, Bus Station, Gangaratnam Theatre, Mohan Studio, HP Petrol Bunk, Primary School, Madiwada School, Library, Vegetable Market, Akividu Police Station]如何在Facelets中使用循環

我想逐個顯示所有這些。 如果我使用下面的代碼行

<h:outputText value="#{searchBean.searchResults()[0]}" /> 

我只得到單個值。

回答

1

使用<ui:repeat>標記來迭代集合。 下面是一個示例例如:

XHTML:

<ui:repeat value="#{productController.products}" var="product"> 
      <li><h:outputText value="#{product.name}" /></li> 
     </ui:repeat> 

ManagedBean:

private List<Product> products; 

public List<Product> getProducts() { 
    if (products == null) { 
     products = new ArrayList<Product>(); 
     products.add(new Product("Tennis Racket")); 
     products.add(new Product("Baseball Bat")); 
     products.add(new Product("Hockey Stick")); 
    } 
    return products; 
} 

另外,您也可以使用JSTL的<c:forEach>標籤。

+2

raj,這個異常信息究竟如何不清楚?您似乎在視圖中將'#{product.name}'更改爲'#{product}'而不是'List '''''列表'。然後你會得到這個異常是完全有意義的。 'String'類根本沒有'name'屬性。 – BalusC

+0

非常感謝BalusC,GanGnaMStYleOverFlowErroR – Rajeswari