2013-03-31 37 views
7

Sử dụng JSF 2.0, tôi cần hiển thị bảng trong đó mỗi hàng chứa liên kết mở cửa sổ bật lên. Tôi có hai kiểu: A có các thuộc tính idList<B>B có các thuộc tính idname. Trong đậu ủng hộ của tôi, tôi có một tài sản List<A>. Theo quan điểm của tôi, tôi đang sử dụng <ui:repeat> để lặp qua List<A>.Cách sử dụng <ui:repeat> để lặp qua danh sách lồng nhau?

Yêu cầu là tùy thuộc vào hàng mà người dùng nhấp vào, tương ứng List<B> của A cần được hiển thị. Tuy nhiên, <ui:repeat> không chấp nhận danh sách lồng nhau được gán trong thuộc tính var. Do đó, tôi cần phải làm rất nhiều cách giải quyết không hiệu quả.

Làm cách nào để giải quyết vấn đề này hiệu quả?

+0

Hiển thị cho chúng tôi những gì bạn đã thử! – skuntsel

Trả lời

13

gì bạn cần là để làm tổ khác <ui:repeat> thẻ trong lặp bên ngoài của bạn:

<ui:repeat value="#{bean.listOfA}" var="a"> 
    ... 
    <ui:repeat value="#{a.listOfB}" var="b"> 
     ... 
    </ui:repeat> 
</ui:repeat> 

Điều duy nhất còn lại đó là đáng chú ý được rằng lồng nhau <ui:repeat> thẻ sử dụng có vấn đề với quản lý nhà nước cho đến khi cá móm 2.1.15 Phiên bản (chi tiết trong jsf listener not called inside nested ui:repeat và trong nhiều câu hỏi không phải gần đây và câu trả lời của họ), điều này có thể dẫn đến người nghe hành động không được gọi, v.v. nhưng nếu bạn hiện đang triển khai Mojarra JSF mới nhất - chỉ cần bỏ qua phần này.

Các vấn đề liên quan