我希望我有一个简单的问题。
在我的JSF页面中,我使用forEach循环来创建按钮来浏览表格的页面。使用ajax我想根据点击的页面呈现表格。这看起来像这样:
<h:form>
<c:forEach begin="1"
end="#{pages%1 == 0 ? pages : 1+pages-(pages%1)}" step="1"
var="page">
<ui:param name="pageParam" value="#{page}"/>
<h:commandButton value="#{page}">
<f:ajax render="testing" listener="#{properties.setPage(page)}" />
</h:commandButton>
</c:forEach>
<h:outputText id="testing" value="#{properties.getPage()}" />
</h:form>
如您所见,我尝试在我的bean中设置page属性。但是当我单击按钮时,我得到一个异常,即找不到该方法(setPage将int作为参数,但&#34; page&#34;作为Byte传递 - &gt; Exception:[...] setPage( java.lang.Byte))。
所以问题是,如何将forEach中的页码作为整数传递?是否有可能将每个生成的数字传递给相关的ajax?
答案 0 :(得分:0)
尝试类似的东西:
<c:forEach begin="1" end="#{pages%1 == 0 ? pages : 1+pages-(pages%1)}" step="1" var="page" varStatus="loop">
<ui:param name="pageParam" value="#{page}"/>
<h:commandButton value="#{page}">
<f:ajax render="testing" listener="#{properties.setPage(#{loop.index})}" />
</h:commandButton>
</c:forEach>