OmniFaces - это служебная библиотека с открытым исходным кодом для платформы JavaServer Faces 2 . Он был разработан с использованием JSF API , и его цель - облегчить жизнь JSF, предоставляя набор артефактов, предназначенных для улучшения функциональности инфраструктуры JSF. Omnifaces был создан в ответ на то, что одни и те же вопросы, один и тот же пример и служебный код публикуются снова и снова. [1] Это просто ответ на повседневные проблемы, возникающие при работе с JSF (например, исправление ошибок, подводные камни, отсутствующие функции, отсутствующие утилиты, общие вопросы и т. Д.). Многие из этих проблем были собраны из StackOverflow . [2]
OmniFaces был разработан двумя членами экспертной группы JSF (JSF EG), Бауке Шольц (также известный как BalusC) [3] и Арьяном Тиймсом. [4]
автоматическая установка метки связанного компонента ввода
включать сервлеты и страницы JSP в Facelets
Обработчик исключений с поддержкой Ajax
URL без расширений
передача выражения метода в тег Facelets, многополевые валидаторы
OmniFaces 1.1
10 июля 2012 г.
форма с поддержкой включения параметров просмотра в URL действия
Комплект для рендеринга HTML5
новый конструктор сообщений
новый валидатор, который проверяет, были ли заполнены ВСЕ данные поля
OmniFaces 1.2
20 октября 2012 г.
поддержка программного выполнения сценариев обратного вызова в ответе Ajax
исправление для работы с ViewExpiredException
полностью буферизует ответ Ajax до размера буфера
OmniFaces 1.3
20 декабря 2012 г.
новые Ajax # updateRow () и Ajax # updateColumn ()
новый <o: enableRestorableView>
новый <o: validateBean>
новый SelectItemsIndexConverter
новый <o: commandScript>
OmniFaces 1.4
март 11,2013
new для атрибута в <o: validator>, чтобы он мог нацеливаться на входные данные в композитах
UnmappedResourceHandler, который удаляет отображение префикса / суффикса JSF из путей к ресурсам.
Обработчик тегов <o: importFunctions> для импорта общедоступных статических непустых методов заданного типа как функций EL
<o: param>, который расширяет <f: param> поддержкой конвертера.
OmniFaces 1.5
10 июня 2013 г.
добавлен новый атрибут includeRequestParams в <o: form>
<о: сообщения> , который расширяет <ч: сообщения> с поддержкой нескольких идентификаторов клиента в течение атрибута
возможность отключить экранирование HTML и возможность выполнять рендеринг без пометок, например <ui: repeat>
интерполятор сообщений для Bean Validation, который позволяет вставлять метку компонента в середину сообщения
добавлены конвертеры для Iterable в List и DataModel
новые защищенные методы FullAjaxExceptionHandler # findExceptionRootCause () и #findErrorPageLocation (), чтобы их было проще разделить на подклассы
OmniFaces 1.6
19 сентября 2013 г.
OmniFaces зависит от CDI из этой версии на
ввод, преобразование и проверка параметров HTTP-запроса через CDI @Param
прозрачная поддержка внедрения зависимостей (CDI и EJB) внутри @FacesConverter и @FacesValidator
новый служебный класс JNDI
Совместимая с CDI аннотация @ViewScoped специально для JSF 2.0 / 2.1
Атрибут useRequestURI для <o: form> для отправки на тот же URL-адрес, что и в адресной строке браузера (со строкой запроса)
OmniFaces 1.7
13 января 2014 г.
новый ValueChangeValidator
новый CacheControlFilter, который может управлять заголовками ответа, связанными с кешем
добавлен SortedTreeModel, который содержит дочерние элементы <o: tree> в TreeSet
OmniFaces 1.8.1
2 июня 2014 г.
добавлен <o: deferredScript>, который может откладывать ресурсы JavaScript в window.onload
<o: massAttribute>, который устанавливает данный атрибут для всех вложенных компонентов
FacesMessageExceptionHandler, который устанавливает любое обнаруженное исключение как глобальное сообщение FATAL Faces
<o: cache> имеет новый атрибут disabled для временного отключения кеша и прямых дочерних элементов
<o: viewParam> пропускает преобразователь для нулевых значений модели, чтобы строка запроса не загрязнялась пустой строкой
OmniFaces 2.0
24 ноября 2014 г.
NoAutoGeneratedIdViewHandler, который выдает исключение времени выполнения, когда визуализируется автоматически сгенерированный идентификатор клиента JSF.
<o: viewParamValidationFailed>, который позволяет отправлять статус перенаправления или ошибки при сбое проверки параметров просмотра.
<o: graphicImage>, который может ссылаться на свойство byte [] или InputStream с дополнительной поддержкой формата URI данных.
<o: moveComponent>, с помощью которого компоненты, фасеты и поведения могут быть перемещены во время выполнения в целевой компонент различными способами.
<o: resolveComponent>, с помощью которого компонент может быть найден по его идентификатору, а ссылка на него помещена в различные области
<o: validateBean> теперь поддерживает проверку bean-компонентов на уровне класса
OmniFaces 2.1
3 июня 2015 г.
<o: tagAttribute> для явного объявления атрибута tagfile, который отображается только в собственной области EL tagfile, чтобы предотвратить загрязнение в области EL вложенных файлов тегов
FacesConfigXml для получения записей faces-config.xml, которые недоступны через собственный JSF API (в настоящее время можно получить только сопоставление всех записей <resource-bundle>)
<o: graphicImage> теперь также поддерживает изображения SVG с явным атрибутом type = "svg" и атрибутом фрагмента для режимов просмотра SVG.
@Cookie для внедрения файла cookie HTTP-запроса в управляемый компонент CDI
CombinedResourceHandler теперь поддерживает кеширование объединенных ресурсов на стороне сервера с помощью параметра контекста org.omnifaces.COMBINED_RESOURCE_HANDLER_CACHE_TTL
@Eager теперь также поддерживает JSF 2.2 javax.faces.view.ViewScoped
OmniFaces 2.2
24 ноября 2015 г.
Вторая жизнь @ViewScoped
FileServlet - новый FileServlet с расширенным диапазоном HTTP и поддержкой кеширования
<o: viewAction> - исправление неинтуитивного атрибута if для <f: viewAction>.
OmniFaces 2.3
1 апреля 2016 г.
@ViewScoped - улучшено
<o: socket> - для push-уведомлений на основе веб-сокетов, к которым можно получить доступ через CDI @Push
<o: skipValidators> - чтобы пропустить все проверки во время действия UICommand или запроса ajax.
FileServlet - поддерживает настройку обработки ошибок 404 и имени файла вложения.
Beans # fireEvent () - Для запуска объекта события CDI
FullAjaxExceptionHandler - получил новое переопределение logException, которое позволяет определить причину журнала
of: reverseArray () - Чтобы перевернуть массив
OmniFaces
3.0
3 января 2018 г.
Зависимости изменены на Java 1.8, JSF 2.3, EL 3.0, Servlet 3.1, CDI 2.0 и BV 2.0.
Удалена совместимость с RichFaces, так как в июне 2016 года для RichFaces был объявлен конец срока службы.
Инициализация OmniFaces явно завершится ошибкой, если CDI BeanManagerнедоступен во время запуска приложения.
<o:form> теперь по умолчанию useRequestURI="true"
<o:form> теперь по умолчанию partialSubmit="true"
<o:validateBean showMessageFor="@violating"> больше не будет отображать "оставшиеся" сообщения для свойств, не охваченных формой JSF
ValidateMultipleFieldsбольше не будет пропускать компоненты только для чтения / отключенные / необработанные, а вместо этого будет указывать их текущее значение модели
org.omnifaces.component.output.cache пакет был перемещен в org.omnifaces.util.cache
Faces/FacesLocalи Servletsслужебные методы теперь будут бросать UncheckedIOExceptionвместо IOException
Все в @Deprecatedверсии 2.x было удалено и заменено собственными сквозными атрибутами JSF 2.2.