Где определение taglib для PrimeFaces 4?

Я ищу, как определить пользовательские компоненты в JSF. Согласно учебнику по Java EE, любой пользовательский компонент должен быть описан в taglib. Когда я просматриваю исходный код PrimeFaces, я не могу найти ни одного файла taglib или какой-либо подсказки, где связано пространство имен и определены доступные компоненты. Я добавляю банку Primefaces в свои зависимости, добавляя

xmlns:p="http://primefaces.org/ui

в пространство имен xml, определяя некоторые компоненты primfaces на моей странице, и это работает...

Хорошо, но ни я не могу найти связанную taglib в исходном или двоичном пакете, ни моя IDE (IntelliJ) не может найти, куда указывает "xmlns:p="http://primefaces.org/ui". Поэтому код завершение также невозможно (все остальные taglibs mojarra найдены).

Возможно ли, что PrimeFaces определяет taglib через аннотации непосредственно в классах Java или генерирует ее во время выполнения? Я могу легко найти UIComponents, Primefaces определяет в своем источнике, но конфигурация taglib, похоже, отсутствует. Я уверен, что просто не знаю, как PrimeFaces это делает, но javaeetutorial не описывает никакой другой возможности, кроме определения ...-taglib.xml


person miwoe    schedule 25.10.2013    source источник


Ответы (2)


Хорошо, я узнал, что конфиг генерируется через сборку, но загрузка исходников не содержит сценария сборки.

Через github я нашел свой ответ, он создается во время сборки (через maven)

(https://github.com/primefaces/primefaces/blob/master/pom.xml)

person miwoe    schedule 25.10.2013

Возможно ли, что PrimeFaces определяет taglib через аннотации непосредственно в классах Java или генерирует ее во время выполнения? [...] javaeetutorial не описывает никаких других возможностей, кроме определения ...-taglib.xml

Поскольку PrimeFaces 4 совместим с JSF 2.2, теоретически он мог бы сделать именно это. А именно, в JSF 2.2/Java EE 7 действительно возможно определить тег Facelets непосредственно через аннотацию. Подробнее об этом см.: http://arjan-tijms.omnifaces.org/p/jsf-22.html#594

Поскольку PrimeFaces 4 по-прежнему совместим с JSF 2.1/2.0, кажется, что они еще не сделали этого, как вы обнаружили за это время.

person Arjan Tijms    schedule 26.10.2013