1
我不知道我应该如何描述这个问题。 我目前正在学习JSF,今天试图实现类似ajax重载表与分页。JSF无效行为与jstl foreach与不同的jsf版本
这是我在JSF代码:
<c:forEach var="pageNo" begin="0" end="${adapter.pagesNumber}">
<c:choose>
<c:when test="#{adapter.currentPage == pageNo}">
<li class="active"><h:commandLink value="#{pageNo+1}" disabled="true" /></li>
</c:when>
<c:otherwise>
<li><h:commandLink value="#{pageNo+1}" action="#{adapter.setCurrentPage(pageNo)}">
<f:ajax render=":#{cc.attrs.tableId} @form" />
</h:commandLink></li>
</c:otherwise>
</c:choose>
,我使用JSF来自:
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
</dependency>
我的目的是有页码按钮,与当前活动页面按钮突出显示并禁用(不重复加载相同的页面)。
现在,第一张截图显示了任何行动之前,我的观点:(第一页):
可以说,我点击页码6,
而现在,当我使用JSF与
版本 <version>2.2.4</version>
我得到了预期的结果:
但是,当I S女巫的版本高于例如
<version>2.2.5</version> // tested up to 2.2.11
我得到这样的:
我点击没有第9页后,我得到了另一个“分页”序列:
1 2 3 4 5 7 8 9 6 10 11
但当前页面中左下角说这是第9页。表格内容也是有效的。
有没有人曾经遇到像这样的情况或我做错了什么,如果相同的代码与不同的JSF版本完全不同?什么可能是这种奇怪行为的原因?
请在此处发布您的mcve(请参阅[ask]),而不是pastebin – Kukeltje
我后来发现,使用JSTL和JSF导致出现意外行为(如此)时可能存在不一致,但它仍然不能解释为什么与2.2.4版本的工作(或至少它试图工作)预期的方式,并与> 2.2.4不。 – Invader92
你发布的内容不是mcve。这是一个片段。是的,这很奇怪,但可能是因为其他改进,有些工作(但没有专门设计的工作)在其他改进时停止工作。你有没有尝试'ui:repeat' btw? – Kukeltje