Передача пользовательских атрибутов HTML5 с помощью Omnifaces
Вопрос
Как это описано в документация что для передачи пользовательских атрибутов HTML5 мы должны объявить параметр контекста org.omnifaces.HTML5_RENDER_KIT_PASSTHROUGH_ATTRIBUTES
, передавая полное имя класса в качестве ключа и значение в виде строки имен транзитных атрибутов, разделенных запятыми.
Я сделал следующее:
<context-param>
<param-name>org.omnifaces.HTML5_RENDER_KIT_PASSTHROUGH_ATTRIBUTES</param-name>
<param-value>
javax.faces.component.html.HtmlForm=data-parsley-validate; <!-- test also javax.faces.component.UIForm -->
javax.faces.component.html.HtmlInputText=data-parsley-type;
</param-value>
</context-param>
Также я зарегистрировал render-kit-factory
<factory>
<render-kit-factory>org.omnifaces.renderkit.Html5RenderKitFactory</render-kit-factory>
</factory>
И, конечно, все это попадает в faces-config.xml
.К сожалению, мне не удалось заставить его работать, я не уверен, чего не хватает.
Я создал очень простой проект на github содержащий только одна страница, а внутри него одна форма и inputText.
Я проверил это в три среда:
Первый
- GlassFish Edition 4.0 (сборка 89) - я пью немного предупреждения также
- Мохарра 2.2.0
- Омнифейсы 1.8.1
Второй
- Сервер приложений JBoss 7.1.1
- Мохарра 2.1.11
- Омнифейсы 1.8.1
Третий
- причал 9.1.1
- Мохарра 2.2.0
- Омнифейсы 1.8.1
Моим первым предположением была версия Mojarra 2.2, но я также тестировал на 2.1 тот же результат, кажется, я здесь что-то упускаю, поскольку у меня очень чистый пример/проект.
Мне уже удалось передать эти пользовательские атрибуты, реализовав различные средства рендеринга, но мне легче использовать Omnifaces, который также проверен на передачу autocomplete
в форму, которая изначально поддерживается атрибутом этого средства визуализации, и она работает нормально.
Примечание:Я знаю, что в JSF 2.2 мы можем легко передавать HTML5, в моем случае приложение должно работать на 2.2 или 2.1.
Решение
А <context-param>
принадлежит web.xml
, нет faces-config.xml
.
я только разъяснил javadocs по этому поводу.