2014-09-18 4 views
2

У меня возникла проблема с композитным компонентом. Я не совсем уверен, что это ошибка в одной из используемых библиотек или просто мое собственное незнание этого вопроса. Если я поместил компонент bar.xhtml файлы вКомпозитные компоненты в подпапках

WebContent/resources/foo/bar.xhtml 

все работает по назначению. Но если я ставлю их в

WebContent/resources/subfolder/foo/bar.xhtml 

они просто не отображаются, и я получаю сообщение:

страница /login.xhtml объявляющий пространство имен http://java.sun.com/jsf/composite/subfolder/foo и использует тег Foo: бар, но нет TagLibrary, связанная с пространством имен.

Я подозреваю, что это имеет какое-то отношение к невостребованному обработчику ресурсов от Omnifaces, и, возможно, это просто параметр, который я не могу понять. Может быть, кто-то может дать мне подсказку здесь?

Я использую (среди прочих):

  • Apache MyFaces 2.2.4
  • Omnifaces 1.8.1
  • Primefaces 5,0
  • Tomcat 8.0.12

Редактировать 2 Отправлено ответа на вопрос

+0

Просто отключить 'UnmappedResourceHandler', чтобы исключить его от причины. – BalusC

+0

Эй, спасибо за ответ. Я был уверен, что пробовал это вчера. Но теперь он ничего не сделал с этим. Однако я нашел решение (которое я буду редактировать в вопросе). Иногда это помогает просто заснуть и снова проверить проблему на следующий день. – MCMLXXXII

+0

Отлично. Но вы не должны ставить ответ в вопросе, скорее отправляйте его как ответ. – BalusC

ответ

3

Хорошо - после того, как я проспал одну ночь над этим, я узнал, что это не имело ничего общего с Omnifaces, но с изменением MyFaces с 2.1.6. С тех пор, вы должны поместить следующее в вашем web.xml:

<context-param> 
    <param-name>org.apache.myfaces.STRICT_JSF_2_ALLOW_SLASH_LIBRARY_NAME</param-name> 
    <param-value>true</param-value> 
</context-param> 

(найдено here)

 Смежные вопросы

  • Нет связанных вопросов^_^