2010-12-15 2 views
0

Я пытаюсь получить дочерние элементы UIRepeat, которые, как я полагаю, содержат весь итерированный контент. Однако вместо этого я вижу только содержимое одной итерации.Поиск компонентов «внутри» ui: repeat

Думаю, мне пришлось бы перебирать объект 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.

Основная проблема заключается в том, что я отображал <h:selectOneRadio> элементы итеративно с помощью <ui:repeat>; Я хочу изменить значение <h:selectOneRadio> элементов из управляемого компонента.

Спасибо заранее, Daniel

ответ

0

Я хочу изменить значение <h:selectOneRadio> элементов из управляемого компонента.

Просто доступ непосредственно к его 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 повторяет содержимое html внутри блока forEach, в то время как повтор фактически повторяет содержимое xhtml (которое затем отображается).

Смежные вопросы