Кажется, что люди могут реализовывать составные компоненты в SWF 2.3.1, но я не могу найти четкую ссылку на то, как это делается. Я следил за базовой структурой составного компонента JSF, но мое приложение SWF, похоже, не распознает пространство имен taglib.Внедрение составного компонента JSF в проекте Maven
Существует предупреждение инструментарий/IDE, но что более важно, есть предупреждение во время выполнения видели в браузере, JSF отображает следующее предупреждение на экране для пользователя:
Warning: This page calls for XML namespace http://java.sun.com/jsf/composite/myjsf declared with prefix mj but no taglibrary exists for that namespace.
Компонент определение:
SRC/главная/ресурсы/myjsf/testComponent.xhtml:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:composite="http://java.sun.com/jsf/composite">
<composite:interface>
<composite:attribute name="attr" />
</composite:interface>
<composite:implementation>
#{cc.attrs.attr});
</composite:implementation>
</html>
Реферировано в данном XHTML:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:mj="http://java.sun.com/jsf/composite/myjsf">
<!-- snip -->
<mj:testComponent attr="x" />
</ui:composition>
Это похоже на предупреждение инструментария (IDE/компилятор/etc), а не предупреждение времени исполнения. Что происходит, когда вы действительно запускаете код? Просто убедитесь, что некоторые инструменты не так умны, как они притворяются. – BalusC
Извините, я должен был быть более ясным. Да, есть предупреждение инструментария, но фактическое предупреждение, которое я разместил здесь, находится во время работы в браузере. – Rich
Если вы используете Eclipse/STS, ваша папка «resources» должна находиться в папке WebContent. – rootkit