JSF1.2: разница между тегами ui: repeat, a4j: repeat и t: datalist - PullRequest
5 голосов
/ 17 февраля 2011

Знаете ли вы, в чем разница между тегами, упомянутыми в теме?

Я думал, что они должны дать почти одинаковый результат, но оказалось, что в некоторых случаях ui:repeat (тег facelets) работает не так, как вы ожидаете, хотя он также считается базовым компонентом итерации.

t для tomahawk, а a4j - префикс richfaces.

Любой комментарий приветствуется.

1 Ответ

6 голосов
/ 17 февраля 2011

Facelets 'ui:repeat действительно имеет ошибки в определенных ситуациях. Что касается разницы с двумя другими, то сводится к тому, что это не компонент UIData, в то время как остальные два.

Ajax4jsf UIRepeat расширяет UIData.
Томагавк HtmlDataList расширяется UIData.
Facelets 'UIRepeat не не расширяется UIData.

Унаследованная кодовая база, предоставляемая UIData, довольно зрелая (хотя она не всегда так эффективна, как следовало бы). Facelets 'UIRepeat еще нужно еще отполировать. ui:repeat не может расширять UIData, поскольку он является частью Facelets, технологии представления, а не JSF, компонентной инфраструктуры MVC. Он также был изначально разработан другой командой.

Поскольку неясно, о какой именно проблеме вы говорите, трудно сказать, является ли она одной из известных ошибок или просто неверной интерпретацией / злоупотреблением. По крайней мере, здесь - это обзор всех известных ошибок, связанных с ui:repeat.

...