2017-02-23 51 views
0

我想我有一個簡單的問題,我希望。JSF爲每個循環值作爲方法參數

在我的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中設置頁面屬性。但是,當我點擊按鈕,我得到一個異常,該方法沒有找到(setPage採用INT作爲參數,但「頁」作爲字節 - >異常傳遞:[...] setPage(java.lang.Byte) )。

所以問題是,我怎樣才能從forEach作爲整數傳遞頁碼?是否有可能將每個生成的數字傳遞給關聯的ajax?

回答

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> 
+0

這難道不認爲是嵌套的EL?如果是這樣,這是行不通的。 – kinglite