2010-12-15 45 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内容(然后渲染)。