Caras ricas

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 16 de mayo de 2018; las comprobaciones requieren 7 ediciones .
Caras ricas de JBoss
Tipo de Ajax , Java , JSF
Autor jboss
ultima versión 4.5.17 Final [1] ( 22 de junio de 2016 )
Licencia Licencia pública general menor de GNU
Sitio web jboss.org/carasricas/

RichFaces  es una biblioteca de componentes para JavaServer Faces basada en el marco de código abierto Ajax4jsf . Le permite integrar fácilmente la tecnología Ajax en una aplicación empresarial.

Además de la gran cantidad de componentes visuales listos para usar del marco Ajax4jsf, RichFaces también implementa soporte para máscaras (característica "skinnability"), proporcionando una gran cantidad de máscaras predefinidas para personalizar la apariencia de la aplicación.

Historia de Rich Faces

La biblioteca de componentes RichFaces se creó dentro del marco Ajax4jsf , que fue desarrollado por Alexander Smirnov. [2] En otoño de 2005, Smirnov se unió a Exadel y continuó desarrollando el marco. La primera versión de Ajax4jsf se lanzó en marzo de 2006 . Más tarde ese año, Exadel VCP dividió el marco Ajax4jsf en dos y nació RichFaces. Ajax4jsf se convirtió en un proyecto gratuito alojado en Java.net, mientras que RichFaces se convirtió en una biblioteca de componentes comerciales para JSF.

RichFaces proporciona al desarrollador un conjunto de componentes que funcionan "listos para usar" (es decir, el componente hace todo lo que necesita), implementando un enfoque orientado a componentes para admitir la tecnología Ajax, mientras que Ajax4jsf requiere la implementación de la compatibilidad con Ajax en el página.

En marzo de 2007, JBoss (ahora una división de Red Hat ) y Exadel firmaron un acuerdo de asociación en virtud del cual Ajax4jsf y RichFaces se desarrollarían bajo el paraguas de JBoss y se denominarían JBoss Ajax4jsf y JBoss RichFaces. Se suponía que RichFaces era abierto y gratuito. En septiembre de 2007 , JBoss y Exadel decidieron fusionar Ajax4jsf y RichFaces bajo el nombre de RichFaces. Esto tenía sentido, ya que en ese momento ambas bibliotecas ya estaban abiertas. Se suponía que tener un solo producto resolvería muchos problemas de compatibilidad que existían antes, como qué versión de Ajax4jsf se necesita para trabajar con una versión particular de RichFaces.

Las versiones de RichFaces desde la 4.0 son 100% compatibles con JSF 2.0 y requieren el uso de facelets .

Marco

El marco se implementa como una biblioteca de componentes que agrega soporte Ajax a las páginas existentes sin que el desarrollador tenga que escribir código JavaScript o reemplazar los componentes existentes con nuevos widgets Ajax . RichFaces proporciona soporte de "página" para la tecnología Ajax a diferencia del modelo de componentes tradicional. Es decir, el desarrollador puede definir el evento en el que se genera la solicitud Ajax en la página y las áreas de la página que se sincronizarán con el árbol de componentes JSF después de que la solicitud Ajax cambie los datos en el servidor de acuerdo con los eventos que ocurrió en el lado del cliente.

RichFaces le permite especificar (mediante etiquetas JSF) las diferentes áreas de una página JSF que deben actualizarse con una solicitud Ajax y proporciona varias formas de enviar una solicitud al servidor. También vale la pena señalar que la página no es diferente de una página JSF "normal" y no es necesario escribir el código JavaScript manualmente.

Arquitectura RichFace

La arquitectura RichFaces consta de las siguientes partes: filtro Ajax, componentes de acción AJAX, contenedores AJAX y motor JavaScript.

Filtro Ajax  : para aprovechar al máximo el uso de RichFaces, el desarrollador debe registrar el filtro en el archivo web.xml de la aplicación. El filtro reconoce diferentes tipos de consultas. Desde la versión 4.0 esto es opcional. Componentes de acción AJAX  : se pueden usar , , y otros componentes para enviar solicitudes Ajax desde el lado AjaxCommandButtondel AjaxCommandLinkcliente AjaxPoll.AjaxSupport AJAX Containers  es AjaxContainer una interfaz que describe un área en una página JSF que debe decodificarse durante una solicitud Ajax. AjaxViewRooty AjaxRegionson implementaciones de esta interfaz. Motor de JavaScript  : el motor de JavaScript de RichFaces se ejecuta en el lado del cliente. Actualiza varias áreas en la página JSF según la información recibida de la respuesta de Ajax. El motor de JavaScript proporciona una API para que el desarrollador no tenga que escribir sus propias funciones de JavaScript.

Soporte de piel

La compatibilidad con máscaras es una función de RichFaces que se utiliza para definir el estilo general de la interfaz. Esta funcionalidad se basa en la tecnología XCSS , que aporta flexibilidad y dinamismo. RichFaces incluye un conjunto de máscaras preinstaladas:

Los atributos de máscara como generalBackgroundColor, generalLinkColor, headerFamilyFontetc. se almacenan en el archivo skinname.skin.properties. Cada componente tiene un archivo XCSS (un formato de archivo especial que combina la flexibilidad de XML y CSS ) que proporciona una asignación de selectores CSS a las propiedades de la máscara seleccionada. Además, es posible establecer atributos de máscara para controles HTML estándar . Es posible crear su propia máscara utilizando la función Plug-n-Skin, que es un arquetipo de Maven y es el marco para una nueva máscara.

Un ejemplo simple de una página JSF usando el componente de calendario RichFaces

<!DOCTYPE html PÚBLICO "-//W3C//DTD XHTML 1.0 Transicional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transicional.dtd"> <html 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: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}" datePattern= "#{calendarBean.pattern}" showApplyButton= "#{calendarBean.showApply}" cellWidth= "24px" cellHeight= "22px" style= " ancho:200px" /> </a4j:panel de salida> </ui:composición> </html>

El resultado de ejecutar el código anterior se ve así:

Notas

  1. RichFaces 4.5.17.Anuncio de versión final . Consultado el 19 de junio de 2018. Archivado desde el original el 20 de junio de 2018.
  2. Max Katz, Exadel. Ajax4jsf y RichFaces: perspectiva histórica (enlace muerto) (15 de agosto de 2008). Archivado desde el original el 2 de febrero de 2009. 

Enlaces