JSF为我们提供了非常方便的表格控件和翻页控件,它们分别是<h:dataTable>和<x:dataScroller>。但是在方便使用的同时相信有很多人也遇到了各种各样的问题,下面我就讲解一下如何定位dataTable的当前页:pageIndex.
当我们第一次进入页面的时候,一切都很正常,看起来没有什么问题,但是如果我们转到第n页进行操作跳转到了其它页面,再从其它页面返回到此页面的时候,dataTable又回到了第一页,而不是刚才我们所在的第n页。如何解决呢?一开始我也遇到了这个问题,解决方案是:在managedBean里实例化一个HtmlDataTable对象(注意这个bean的作用域必须是session),在jsp页面上的<h:dataTable>里面加入属性 binding="#{bean.htmlDataTable}",这样在jsp页面上的任何翻页变化就都会保存到bean中的HtmlDataTable对象里了。这时有人就会问了,想回到第一页怎么办呢,调用htmlDataTable.setFirst(0),OK问题都解决了。