页面中datatable的JSF预加载列表

页面中datatable的JSF预加载列表,jsf,ejb-3.0,Jsf,Ejb 3.0,我正在使用EJB和JSF。我制作了一个带有“获取列表”按钮的jsp简单页面。单击时,将调用一个托管bean方法来设置列表,然后在jsp中使用dataTable标记显示该列表 问题是,如何在页面加载时预加载此列表/数据表而不必单击按钮 这是通过jsp上的按钮操作调用的方法: public String retrieveList() { items = facade.getAllItem(); return ""; } 这是jsp的一部分: <h:dataTable valu

我正在使用EJB和JSF。我制作了一个带有“获取列表”按钮的jsp简单页面。单击时,将调用一个托管bean方法来设置列表,然后在jsp中使用dataTable标记显示该列表

问题是,如何在页面加载时预加载此列表/数据表而不必单击按钮

这是通过jsp上的按钮操作调用的方法:

public String retrieveList() {
    items = facade.getAllItem();
    return "";
}
这是jsp的一部分:

<h:dataTable value="#{mybean.items}" var="sup"
    binding="#{mybean.dataTable}"
    rowClasses="oddRow, evenRow"
    styleClass="tableStyle"
    headerClass="tableHeader"
    columnClasses="column1, column2, column1, column1, column1, column1">

用注释方法并去掉返回值

@PostConstruct
public void retrieveList() {
    items = facade.getAllItem();
}
这样,该方法将在构建bean和注入所有
@EJB
依赖项之后立即执行。在JSF页面中,您只需以通常的方式绑定到
{bean.items}

用注释方法并去掉返回值

@PostConstruct
public void retrieveList() {
    items = facade.getAllItem();
}

这样,该方法将在构建bean和注入所有
@EJB
依赖项之后立即执行。在JSF页面中,您只需以通常的方式绑定到
{bean.items}

您可以使用@postConstruct添加方法init

@PostConstruct
public void init(){
  items = facade.getAllItem();
}

这将仅在创建bean时返回项,

您可以使用@postConstruct添加方法init

@PostConstruct
public void init(){
  items = facade.getAllItem();
}

这将仅在创建bean时返回项目,

不客气。别忘了把最有用的答案标出来。另见,不客气。别忘了把最有用的答案标出来。另见。