我在h:dataTable
標記中有ui:repeat
問題。我有一個名稱爲field ant的數據集合。所以我通過索引來匹配它們。當我加載頁面時,引發異常OutOfBoundsException
。但是當我把filingCabinetManagerBean.filingCabinet.schema.fields.indexOf(schemaField)
放在ui:repeat
之外時,它顯示正確的索引。所以我試圖分裂它,並宣佈ui:param
和c:set
作爲變量,但同樣的問題。 cardData
actualCard的屬性不爲空,也不爲空,它有7個項目,我已經調試過它。那麼你有什麼想法可能是什麼問題?ui:重複不工作h:dataTable
PS:當我更改ui:repeat
爲h:dataTable
時,它正在工作。最重要的是,在另一個JSF頁面上使用相同的構造,並且它正在工作,只有一個區別 - 我從卡中獲取cardData
,該卡在一個外部數據表中引用,因此它不是Bean(dot)
屬性等,但只有variable(dot)
等等。
任何想法?感謝您的幫助。 :)
<p:panel header="#{fileUploadBean.actualCard.id}">
<h:dataTable value="#{filingCabinetManagerBean.filingCabinet.schema.fields}" var="schemaField" style="vertical-align: top">
<h:column><h:outputText value="#{schemaField.fieldTitle}:" style="font-size: 20px;font-weight: bold"/></h:column>
<h:column>
<ul>
<ui:repeat value="#{fileUploadBean.actualCard.cardData.get(filingCabinetManagerBean.filingCabinet.schema.fields.indexOf(schemaField)).data}" var="data">
<li><h:outputText value="#{data.string}"/></li>
</ui:repeat>
</ul>
</h:column>
</h:dataTable>
哪個JSF IMPL /版本?試過最新?在Mojarra有很多錯誤,其中大部分應該已經被當前的最新版本2.2.12所淘汰。目前的答案只顯示瞭解決方法。儘管如此,在getter中做業務邏輯是一個壞主意。你最好重做你的控制器以預先填充視圖期望的模型,而不是讓視圖通過getter來填充模型(這顯然是低效的)。另見a.o. http://stackoverflow.com/questions/2090033/why-jsf-calls-getters-multiple-times –
BalusC