Почему h:dataTable внутри ui:repeat не получает правильный идентификатор?

Код:

<ui:repeat var="obj" value="#{demo2Bean.someList}">
    <h:panelGroup id="foo" />
    <h:dataTable id="bar" />
</ui:repeat>

Результат:

<span id="j_idt55:0:foo"></span>
<table id="j_idt55:0:bar"><tbody><tr><td></td></tr></tbody></table>
<span id="j_idt55:1:foo"></span>
<table id="j_idt55:0:bar"><tbody><tr><td></td></tr></tbody></table>

Как видите, идентификатор для datatables тот же 'j_idt55:0:bar', но для panelGroups он растет (как и должно быть): 'j_idt55:0:foo', 'j_idt55:1:foo'. Почему это так?


person Tuukka Mustonen    schedule 07.10.2010    source источник
comment
может быть ошибка. Попробуйте обновиться до последней версии   -  person Bozho    schedule 07.10.2010
comment
Запустив Mojarra 2.0.2, я столкнулся с возможной (блокирующей) ошибкой в ​​Mojarra 2.0.3 (javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1825). Думаю, я должен попробовать это с чистым проектом?   -  person Tuukka Mustonen    schedule 07.10.2010


Ответы (1)


Потому что это ошибка в UIData#getClientId(). Я сообщил об этом как проблема 1830.

person BalusC    schedule 07.10.2010
comment
Круто, спасибо за проверку и сообщение об этом. Это происходит уже с Mojarra 2.0.2, поэтому, возможно, измените это на билет. - person Tuukka Mustonen; 07.10.2010
comment
Версия - это просто максимальная версия, в которой событие подтверждено. - person BalusC; 07.10.2010
comment
Это исправлено в 2.1.12 и 2.2.0-m06. - person John Yeary; 10.12.2012