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

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

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

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

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

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

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

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

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

Вы можете создать так называемый класс поддержки компонента, расширяющий`UINamingContainer` (или, по крайней мере, реализации`NamingContainer`) и привязать его к`<cc:interface componentType>`. [Вы можете найти несколько примеров в моих ответах здесь](https://stackoverflow.com/search?tab=votes&q=user%3a157882%20%5bcomposite-component%5d%20componenttype).

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

Смотрите также:[Когда использовать <ui: include>, файлы тегов, составные компоненты и / или пользовательские компоненты?](https://stackoverflow.com/questions/6822000/when-to-use-uiinclude-tag-files-composite-components-and-or-custom-componen)