请问jsf中第一次页面显示时,数据什么时候绑定

fourfire 2008-04-10
我在做一个翻页的控件,在datatable下增加
<f:facet name="footer">
								<h:panelGrid>
								<h:commandLink value="首页" styleClass="Link" actionListener="#{ManageBean.firstPage}">
								</h:commandLink>
								<h:commandLink value="上一页" styleClass="Link" actionListener="#{ManageBean.lastPage}">
								</h:commandLink>
								<h:commandLink value="下一页" styleClass="Link" actionListener="#{ManageBean.nextPage}">
								</h:commandLink>
								<h:commandLink value="末页" styleClass="Link" actionListener="#{ManageBean.endPage}">
								</h:commandLink>
								<h:outputText value="共计#{ManageBean.otherDataModel.rowTotalCount}条记录" />
								<h:outputText value="第#{ManageBean.otherDataModel.currentPage+1}页/共#{ManageBean.otherDataModel.pageCount}页" />
								<h:commandLink value="导出" styleClass="Link" actionListener="#{ManageBean.exportExcel}">
								</h:commandLink>
								</h:panelGrid>
</f:facet>

我在render中获得数据,但是第一次打开页面时总记录数为0.点翻页就ok了
我猜想是显示footer的时候,记录数还未得到。我在encodeBegin中获得数据
请问:在什么方法中获得数据,可以保证在footer渲染前调用?
dr.han 2008-04-10
页面初始化的时候,JSF首先会调用业务manageBean的属性的get/set方法,而这时你的数据List是空的,所以没有数据
建议你在页面开始先查询数据,或者把查询数据的方法写到你一个属性的get方法中即可
glacier3 2008-04-10
我觉得没有必要使用JSF了,除非一些其他的情况, 不使用是最好的解决办法
rockjava 2008-04-11
在造车轮子
fourfire 2008-04-11
谢谢大家,我试试
fourfire 2008-04-11
有个问题,我的查询条件没办法传递到bean里了,有什么办法知道bean绑定的哪个datatable吗?
fourfire 2008-04-11
我想在页面中为backbean的属性赋值,在xml里的值在运行期发生改变了
fourfire 2008-04-11
设置了,但是在页面里想把缺省值改掉
fourfire 2008-04-11
是开发者修改,这样就不用写很多managebean了
fourfire 2008-04-11
对的,就是这个意思,一个bean,可以给他不同的参数,表现不同的特性
Global site tag (gtag.js) - Google Analytics