我有最简单版本的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上。
答案 0 :(得分:1)
如果您的意思是&#34; F5&#34;,您可以在f:event标签中添加preRenderViewEvent并将init方法设置为侦听器?虽然我也不明白为什么你首先使用会话范围的bean,这有点像hacky。