Java 使用分页数据表和ajax迭代参数
我试图找到datatable/ajax问题的解决方案(简而言之):Java 使用分页数据表和ajax迭代参数,java,ajax,jsf,jakarta-ee,datatable,Java,Ajax,Jsf,Jakarta Ee,Datatable,我试图找到datatable/ajax问题的解决方案(简而言之): 航空公司 ... 地位 经核准的 分页器动作: <h:form style="margin: 0 0 0 0"> <h:commandButton styleClass="btn" action="#{flightMBean.previous()}" rendered="#{flightMBean.paginator.hasPre
航空公司
...
地位
经核准的
分页器动作:
<h:form style="margin: 0 0 0 0">
<h:commandButton styleClass="btn"
action="#{flightMBean.previous()}"
rendered="#{flightMBean.paginator.hasPreviousPage}"
value="Prev">
<f:ajax render=":toRender"/>
</h:commandButton>
<h:commandButton styleClass="btn" action="#{flightMBean.next()}"
rendered="#{flightMBean.paginator.hasNextPage}"
value="Next">
<f:ajax render=":toRender"/>
</h:commandButton>
对于datatable的第一个视图页,一切似乎都正常。当我点击“观察”时,id良好的航班进入数据库。单击“下一步”按钮时出现问题-datatable呈现新行,但每个id与第一页上的相同
例如,在第一页上,我在20:00从x到y,id=1
另一个id=2,第二个页面呈现id=3的第三个航班。
如果我想观察第一次或第二次飞行,一切都可以!
若我想观察第三个,id=1的航班将进入数据库
附言。
如果我把#{f.id}放在没有form/commandButton/jsf组件的地方,一切看起来都很好。。。只是jsf组件重置了我的参数/ 如果支持bean是请求范围的,并且在(后期)构造期间没有保留完全相同的数据模型(
后面的对象),则会发生这种情况
要么将bean放在视图范围内,要么在bean的(post)构造函数中编写逻辑,以保留与向最终用户呈现带有表的表单时完全相同的数据模型。如果它取决于一些基于请求的条件,那么您可以使用
跨请求保留它们
另见:
- -第4点
<h:form style="margin: 0 0 0 0">
<h:commandButton styleClass="btn"
action="#{flightMBean.previous()}"
rendered="#{flightMBean.paginator.hasPreviousPage}"
value="Prev">
<f:ajax render=":toRender"/>
</h:commandButton>
<h:commandButton styleClass="btn" action="#{flightMBean.next()}"
rendered="#{flightMBean.paginator.hasNextPage}"
value="Next">
<f:ajax render=":toRender"/>
</h:commandButton>