2010-12-15 47 views
0

我試圖獲取UIRepeat的子元素,我期望包含所有迭代的內容。但是,我只能看到一次迭代的內容。查找組件'內部'用戶界面:重複

我想我將不得不迭代通過com.sun.faces.facelets.component.UIRepeat對象,但如何做到這一點?我看到有getSize()函數,但setIndex()private,並且DataModel包含對象,而不是元素。

另外,我在參考文檔中找不到com.sun.faces.facelets.component.UIRepeat類:http://download.oracle.com/docs/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/ui/repeat.html

主要問題是我一直在用<ui:repeat>迭代地顯示<h:selectOneRadio>元素;我想從託管bean中更改<h:selectOneRadio>元素的值。

由於提前, 丹尼爾

回答

0

我想更改託管bean中<h:selectOneRadio>元素的值。

只需從託管bean內部直接訪問其value屬性即可。

假設

<ui:repeat value="#{bean.radios}" var="radio"> 
    <h:selectOneRadio value="#{radio.selected}"> 
     <f:selectItems value="#{radio.selectItems}" /> 
    </h:selectOneRadio> 
<ui:repeat> 

只是做

radios.get(index).setSelected(newValue); 
0

我不知道現在你的代碼或需求,但不是重複,你可以嘗試在C:的forEach。後者在另一個渲染階段工作:forEach重複forEach塊內的html內容,而重複實際重複xhtml內容(然後渲染)。