在页面重新加载

时间:2016-02-26 10:32:36

标签: jsf primefaces refresh

我有最简单版本的primefaces' DataTable(没有排序,分页等)和控制器类,负责向html页面提供数据。 '汽车'是集合传递给p:datatable作为值属性:

<p:dataTable id="dtid" var="car" value="#{someController.cars}" />


@Named
@SessionScoped
public class SomeController {

  @Inject
  SomeService dataProvider;

  private Collection<Car> cars;

  @PostConstruct
  public void init() {
    cars = dataProvider.getCars();
  }

  public Collection<Car> getCars() { 
    return cars;
  }

我想确保每次点击时重新加载汽车的集合&#34;刷新&#34;我的网页上的按钮。 init()方法只调用一次,而第一次加载页面。如何以最简单的方式实现这一目标?为了清楚起见:我不想将范围更改为@RequestScope或其他任何内容。

提前致谢,

P上。

1 个答案:

答案 0 :(得分:1)

如果您的意思是&#34; F5&#34;,您可以在f:event标签中添加preRenderViewEvent并将init方法设置为侦听器?虽然我也不明白为什么你首先使用会话范围的bean,这有点像hacky。