RichFaces
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() | |
Оригинальный автор(ы) | ДжейБосс |
---|---|
Стабильная версия | 4.5.17.Final [ 1 ]
/ 22 июня 2016 г |
Тип | Ajax , Java , JSF , Framework |
Лицензия | Меньшая стандартная общественная лицензия GNU |
Веб-сайт | богатые лица |
RichFaces — это библиотека компонентов с открытым исходным кодом, поддерживающая Ajax, для JavaServer Faces , размещенная на сервере JBoss . Это позволяет легко интегрировать возможности Ajax в разработку корпоративных приложений . В июне 2016 года он подошел к концу.
RichFaces — это больше, чем просто библиотека компонентов для JavaServer Faces. Он добавляет:
- Возможность использования скинов (легко менять и обновлять внешний вид приложения)
- Комплект разработки компонентов (CDK) для помощи в создании компонентов JavaServer Faces.
- Платформа динамических ресурсов
- Как общестраничные, так и компонентные компоненты управления Ajax.
История
[ редактировать ]RichFaces возник на основе платформы Ajax4jsf , которую разработал и реализовал Александр Смирнов. [ 2 ] Осенью 2005 года Смирнов присоединился к Exadel и продолжил разработку фреймворка. В марте 2006 года Exadel выпустила первую версию того, что впоследствии стало Ajax4jsf. Позже в том же году Exadel VCP была отделена, и на свет появились Ajax4jsf и RichFaces. В то время как RichFaces предоставляет готовые компоненты («компонентно-ориентированный» Ajax-подход, где компоненты делают все, что вам нужно), Ajax4jsf обеспечивает поддержку Ajax на уровне всей страницы. Разработчики указывают, какие части страницы сервер должен обрабатывать после некоторых действий пользователя на стороне клиента, а какие части после обработки следует обновлять. Ajax4jsf стал проектом с открытым исходным кодом, размещенным на java.net , а RichFaces стал коммерческой библиотекой компонентов JSF.
В марте 2007 года JBoss (подразделение Red Hat с 2006 года) и Exadel подписали соглашение о партнерстве, согласно которому Ajax4jsf и RichFaces перейдут под эгидой JBoss как «JBoss Ajax4jsf» и «JBoss RichFaces». RichFaces теперь также станет открытым и бесплатным. В сентябре 2007 года JBoss и Exadel решили объединить Ajax4jsf и RichFaces под названием RichFaces. Это имело смысл, поскольку обе библиотеки теперь были бесплатными и с открытым исходным кодом. [ нужна ссылка ] Наличие всего лишь одного продукта решило многие существующие проблемы версий и совместимости, например, какая версия Ajax4jsf будет работать с какой версией RichFaces.
12 февраля 2016 года разработчик RichFaces Михал Петров объявил о прекращении поддержки RichFaces. [ 3 ] на июнь 2016 года.
Рамки
[ редактировать ]Платформа реализована как библиотека компонентов, которая добавляет возможности Ajax к существующим страницам, поэтому разработчику не нужно писать какой-либо код JavaScript или заменять существующие компоненты новыми виджетами Ajax. RichFaces обеспечивает поддержку Ajax на уровне всей страницы вместо традиционной поддержки на уровне компонента. Следовательно, разработчик может определить событие на странице, которое вызывает запрос Ajax, и области страницы, которые должны быть синхронизированы с деревом компонентов JSF после того, как запрос Ajax изменит данные на сервере в соответствии с событиями, инициированными на клиенте.
RichFaces позволяет вам определять (с помощью тегов JSF) различные части страницы JSF, которые вы хотите обновить с помощью запроса Ajax, и предоставляет несколько вариантов отправки запросов Ajax на сервер. Кроме того, страница JSF не отличается от «обычной» страницы JSF, и вам не нужно писать код JavaScript вручную. Контролируя все со стороны сервера, JavaScript практически не требуется, а состояние страницы можно легко поддерживать на сервере.
Архитектура RichFaces
[ редактировать ]Архитектура RichFaces состоит из фильтра Ajax, компонентов действий Ajax, контейнеров Ajax и механизма JavaScript.
- Фильтр Ajax . Чтобы получить все преимущества RichFaces, разработчик должен зарегистрировать фильтр в файле web.xml приложения. Фильтр распознает несколько типов запросов.
- Компоненты действий Ajax — AjaxCommandButton, AjaxCommandLink, AjaxPoll и AjaxSupport и другие компоненты действий могут использоваться для отправки запросов Ajax со стороны клиента.
- Контейнеры Ajax . AjaxContainer — это интерфейс, описывающий область на странице JSF, которая должна быть декодирована во время запроса Ajax. AjaxViewRoot и AjaxRegion являются реализациями этого интерфейса.
- Механизм JavaScript — движок JavaScript RichFaces работает на стороне клиента. Он обновляет различные области на странице JSF на основе информации из ответа Ajax. Движок JavaScript предоставляет API, поэтому разработчикам не нужно создавать свои собственные функции JavaScript.
Возможность снятия скинов
[ редактировать ]Возможность использования скинов — это особая функция RichFaces, которая используется для определения общих стилей интерфейса. Функция основана на технологии XCSS, которая обеспечивает гибкость и динамику. RichFaces предоставляет набор предустановленных скинов:
- ПО УМОЛЧАНИЮ
- простой
- изумрудный город
- голубое небо
- вино
- ЯпонияВишня
- рубин
- классический
- глубокийМорской
- Лагуна (новая - RichFaces 3.2.1)
- GlassX (новое - RichFaces 3.2.2)
- DarkX (новое - RichFaces 3.2.2)
Свойства скина, такие как GeneralBackgroundColor, GeneralLinkColor, headerFamilyFont и т. д., хранятся в файле Skinname.skin.properties. Каждый компонент имеет файл XCSS (специальный формат файла, сочетающий гибкость XML и CSS), который выполняет сопоставление селекторов CSS со свойствами скина конкретного скина. Кроме того, RichFaces обеспечивает оформление для стандартных элементов управления HTML. Вы можете создать собственный скин с помощью функции Plug-n-Skin, которая представляет собой архетип Maven, создающий скелет для нового скина.
Простая страница JSF с компонентом календаря RichFaces
[ редактировать ]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999"
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:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<ui:composition template="/templates/component-sample.xhtml">
<a4j:outputPanel id="calendar" layout="block">
<rich:calendar value="#{calendarBean.selectedDate}"
locale="#{calendarBean.locale}"
popup="#{calendarBean.popup}"
showApplyButton="#{calendarBean.showApply}"
cellWidth="24px" cellHeight="22px" style="width:200px"/>
</a4j:outputPanel>
</ui:composition>
</html>
Это результат представленного выше кода
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Стабильные загрузки — сообщество JBoss» .
- ^ Макс Кац, Exadel (15 августа 2008 г.). «Ajax4jsf и RichFaces — историческая перспектива» . Архивировано из оригинала 2 февраля 2009 года.
- ^ Михал Петров (12 февраля 2016 г.). «Будущее RichFaces» .