Java 参数不能在JSF ajax标记中执行
无法执行cc.attrs.controllerBean.goToPage('1')中的“1”。但是,如果我在没有forEach循环的情况下执行,1可以很好地执行。知道为什么吗Java 参数不能在JSF ajax标记中执行,java,ajax,jsf,Java,Ajax,Jsf,无法执行cc.attrs.controllerBean.goToPage('1')中的“1”。但是,如果我在没有forEach循环的情况下执行,1可以很好地执行。知道为什么吗 <c:forEach begin="1" step="1" end="#{cc.attrs.controllerBean.noOfPages}" varStatus="status"> <li><h:commandLink value="#{status.index}">
<c:forEach begin="1" step="1" end="#{cc.attrs.controllerBean.noOfPages}" varStatus="status">
<li><h:commandLink value="#{status.index}">
<f:ajax execute="@form" render="searchResult" action="#{cc.attrs.controllerBean.goToPage('1')}" />
</h:commandLink></li>
</c:forEach>
一般来说,在JSF视图定义中应该避免使用JSTL。您可以使用
标记执行相同的操作,只需在支持bean中定义一个包含页数的整数列表:
<!-- pages is a list of integers that holds the number of pages -->
<ui:repeat value="#{cc.attrs.controllerBean.pages}" var="pageNumber">
<h:commandLink value="#{pageNumber}">
<!-- rest of your code -->
</h:commandLink>
</ui:repeat>
还要记住,
支持侦听器属性,而不是操作。您的webapp中是否安装了旧版本的jstl?@SteveC我使用的是1.2