如何在JSF页面的EL表达式中按索引显示ArrayList的元素

时间:2012-03-11 12:58:52

标签: jsf arraylist el

我想将java arraylist显示到JSF页面中。我从数据库生成了arraylist。现在我想通过索引号调用列表元素索引将列表显示到JSF页面。是否可以直接从JSF页面中的EL表达式向bean方法传递参数并显示它?

1 个答案:

答案 0 :(得分:25)

您可以使用括号表示法[]按特定索引访问列表元素。

@ManagedBean
@RequestScoped
public class Bean {

    private List<String> list;

    @PostConstruct
    public void init() {
        list = Arrays.asList("one", "two", "three");
    }

    public List<String> getList() {
        return list;
    }

}
#{bean.list[0]}
<br />
#{bean.list[1]}
<br />
#{bean.list[2]}

关于参数传递,肯定是可能的。 EL 2.2(或当你还在使用EL 2.1时使用JBoss EL)支持使用参数调用bean方法。

#{bean.doSomething(foo, bar)}

另见:


但我想知道是否使用迭代列表中所有元素的组件(如<ui:repeat><h:dataTable>)并不容易,这样您就不需要知道事先确定大小,也不按索引获取每个项目。 E.g。

<ui:repeat value="#{bean.list}" var="item">
    #{item}<br/>
</ui:repeat>

<h:dataTable value="#{bean.list}" var="item">
    <h:column>#{item}</h:column>
</h:dataTable>

另见: