我的<ui:repeat>
设置如下:
<ul>
<ui:repeat id="iterator" value="#{myBean.linkList}" var="link" varStatus="linkStatus">
<li>
<ui:fragment rendered="#{!linkStatus.first and myBean.currLink.type eq 'comm'}">
<p:commandLink id="commLink" value="Test" onclick="commLinkClicked(#{linkStatus.index}, #{linkStatus.end});"></p:commandLink>
</li>
</ui:fragment>
</ui:repeat>
</ul>
如您所见,我发送当前对象的索引以及最后一个索引
列表的索引到javascript函数。
问题是#{linkStatus.index}
解析为正确的值,但#{linkStatus.end}
解析为空。
此过程导致语法错误如下
SyntaxError:expected expression,got')'
我查看了UIRepeat和IterationStatus的源代码,据我所知varStatus.end
已实现并使用。
支持bean中的此列表定义如下:
private List<MyLink> links;
此列表是在数据库加载时使用直接返回Query.list();
的DAO类启动的。
我的pom的相关部分如下:
<!-- JSF -->
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.1.7</version>
</dependency>
我也在使用Primefaces 5.0,但我怀疑这会导致
的选择部分出现任何问题