【问题标题】:How to use loops in Facelets如何在 Facelets 中使用循环
【发布时间】:2012-12-05 12:53:28
【问题描述】:

我在 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]

我想一一展示所有这些。 如果我使用下面的代码行

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

我只得到一个值。

【问题讨论】:

    标签: java jsf-2 primefaces facelets


    【解决方案1】:

    使用&lt;ui:repeat&gt; 标签来迭代一个集合。 下面是一个示例:

    XHTML:

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

    托管豆:

    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 的 &lt;c:forEach&gt; 标签。

    【讨论】:

    • raj,这个异常消息到底是怎么不清楚的?您似乎已经在视图中将 #{product.name} 更改为 #{product} 而不是 List&lt;Product&gt; 提供了 &lt;ui:repeat&gt;List&lt;String&gt;。那时你会得到这个异常是完全有道理的。 String 类根本没有 name 属性。
    • 非常感谢 BalusC ,GanGnaMStYleOverFlowErroR
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 2011-11-23
    • 2014-11-01
    • 2013-12-03
    相关资源
    最近更新 更多