В чем разница между пользовательскими составными компонентами JSF и пользовательскими классическими компонентами

Я хочу создать пользовательский компонент JSF. Теперь я прочитал несколько документов из Oracle и увидел несколько примеров кода. Проблема в том, что я немного запутался:

Кажется, есть два способа создать пользовательский компонент с помощью JSF 2.0+. Насколько я понял, начиная с JSF 2.0, я могу использовать эти составные компоненты для создания своего собственного компонента.

Но есть ли у них какие-либо недостатки по сравнению с «классическим» компонентом?

Мой Компонент будет довольно сложным. Потеряю ли я что-нибудь (кроме нисходящей совместимости), когда я использую Композитные Компоненты?

Например, у моего Компонента будет некоторая работа в Java, это возможно с Композитными Компонентами?

Ответы на вопрос(1)

Решение Вопроса

если вы хотите представить группу тесно связанныхсуществующий теги / компоненты / HTML как единый и многократно используемый компонент средствами чистого XML.

Пользовательский компонент будет единственным способом, когда естьнет стандартные метки / компоненты JSF, доступные для достижения требований. Например.<input type="file">, <input type="range">и т. д. Обратите внимание, что такой пользовательский компонент может, в свою очередь, использоваться в любом случае.

Имеет смысл, верно?

Вы можете создать так называемый класс поддержки компонента, расширяющийUINamingContainer (или, по крайней мере, реализацииNamingContainer) и привязать его к<cc:interface componentType>. Вы можете найти несколько примеров в моих ответах здесь.

Однако обратите внимание, что иногда составной компонент не подходит, вместо этого вам нужно создать файл тегов. Например, когда вы хотите, чтобы пользовательский и многоразового использования<h:column>.

Смотрите также:Когда использовать <ui: include>, файлы тегов, составные компоненты и / или пользовательские компоненты?

Ваш ответ на вопрос