Sorting JSF2 Richfaces 4.3.1,在使用ExtendedDataModel和Arrangeable时多次调用walk方法
我正在尝试加载带有分页和排序的数据表。使用ExtendedDataModel和Arrangeable来实现这一点,它运行良好。 然后我添加了阶段侦听器来检查行为,并注意到Sorting JSF2 Richfaces 4.3.1,在使用ExtendedDataModel和Arrangeable时多次调用walk方法,sorting,jsf-2,richfaces,richdatatable,Sorting,Jsf 2,Richfaces,Richdatatable,我正在尝试加载带有分页和排序的数据表。使用ExtendedDataModel和Arrangeable来实现这一点,它运行良好。 然后我添加了阶段侦听器来检查行为,并注意到 1。分页工作正常,只命中一个DB。 2。但是,当排序DB Hit发生两次时,第一次在第2阶段,第二次在第6阶段 还要注意的是,如果我没有immediate=“true”,那么DB命中在第2、3、4和6阶段分别发生4次 我不知道为什么会这样。你能帮个忙吗 xhtml片段 <rich:co
1。分页工作正常,只命中一个DB。
2。但是,当排序DB Hit发生两次时,第一次在第2阶段,第二次在第6阶段 还要注意的是,如果我没有immediate=“true”,那么DB命中在第2、3、4和6阶段分别发生4次 我不知道为什么会这样。你能帮个忙吗 xhtml片段
<rich:column sortBy="#{item.busName}" sortOrder="#{sortBean.order}">
<f:facet name="header">
<a4j:commandLink value="BUSINESS NAME" action="#{sortBean.sortByBus}" immediate="true"
render="riskData" />
</f:facet>
<h:outputText value="#{item.busName}">
</h:outputText>
</rich:column>
<rich:column sortBy="#{item.regionName}" sortOrder="#{sortBean.orderRegion}">
<f:facet name="header">
<a4j:commandLink value="REGION NAME"
action="#{sortBean.sortByRegion}" immediate="true"
render="riskData" />
</f:facet>
<h:outputText value="#{item.regionName}">
</h:outputText>
</rich:column>
----------带有sysout的阶段侦听器日志----------
具有未排序值的页面初始视图,只有一次DB命中以获取数据#####开始阶段还原\u视图1
结束阶段还原\u视图1
开始阶段渲染_响应6
获取排序->订单业务->未排序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
排列不可用
总计数DB命中率
数据创建
获取排序->订单业务->未排序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
排列不可用
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
排序列表前
排序后->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
步行->结束
结束阶段渲染_响应6
BusinessName未排序的升序排序,在第2阶段中有两个DB命中->第1个,在第6阶段中有第2个 开始阶段还原\u视图1
结束阶段还原\u视图1
开始阶段应用请求值2
获取排序->订单业务->未排序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
排列不可用
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
排序列表前
排序后->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
步行->结束
排序业务->切换->降序到升序
设置排序->订单业务->升序
设置排序->订单策略->未排序
设置排序->订单区域->未排序
结束阶段应用请求值2
开始阶段渲染_响应6
获取排序->订单业务->升序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”升序
获取排序->订单业务->升序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”升序
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
排序列表前
排序后->[com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8,com.entity。BusItem@514cef]
步行->结束
结束阶段渲染_响应6
BusinessName升序到降序排序->在第2阶段第一次命中两个DB,在第6阶段第二次命中两个DB 开始阶段还原\u视图1
结束阶段还原\u视图1
开始阶段应用请求值2
获取排序->订单业务->升序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”升序
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8,com.entity。BusItem@514cef]
排序列表前
排序后->[com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8,com.entity。BusItem@514cef]
步行->结束
排序业务->切换->升序到降序
设置排序->订单业务->降序
设置排序->订单策略->未排序
设置排序->订单区域->未排序
结束阶段应用请求值2
开始阶段渲染_响应6
获取排序->订单业务->降序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”递减
获取排序->订单业务->降序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”递减
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8,com.entity。BusItem@514cef]
排序列表前
排序后->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
步行->结束
结束阶段渲染_响应6
当删除Immediate,然后对业务名称进行排序时,在第2、3、4和6阶段分别命中fourDB 开始阶段还原\u视图1
结束阶段还原\u视图1
开始阶段应用请求值2
获取排序->订单业务->未排序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
排列不可用
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
排序列表前
排序后->[com.entity。