Home > Ajax, Articulos, Java, Programación > Ejemplo Sencillo de RichFaces con JSF

Ejemplo Sencillo de RichFaces con JSF

September 7th, 2008

Richfaces es un framework para Java con el cual puedes crear un ambiente AJAX de manera facil, rapida y limpia, a continuación presentare un ejemplo sencillo, donde podras ver el poder de este framework.

Primero, necesitamos el JavaBean, como el siguiente, como puedes ver tenemos una operacion con un ActionEvent, esta servirá para comunicarse con el Boton Submit del Formulario y escuchara sus llamados.

package events.richfaces;
 
import javax.faces.event.ActionEvent;
 
public class echoBean {
 
	private String name;
	private Integer count;
 
	public Integer getCount() {
		return count;
	}
 
	public String getName() {
		return name;
	}
 
	public void setName(String name) {
		this.name = name;
	}
 
	public void countListener (ActionEvent event){
		count = name.length();
		}
 
}

Después tenemos que ponerlo en nuestro faces-config.xml, para tener acceso a el Bean desde las paginas web

  <managed-bean>
  <managed-bean-name>echoBean</managed-bean-name>
  <managed-bean-class>events.richfaces.echoBean</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
 </managed-bean>

Una vez lista la logica, vamos con la capa de presentación, vamos a explicar brevemente la función de algunas etiquetas:

  • a4j:support : Este componente activa la funcionalidad AJAX para tu pagina en cualquier componente JSF, se agrega como un hijo del componente y se configura segun convenga.
  • actionListener=”#{echoBean.countListener}”: Se puede poner dentro del a4j, y al ejecutar el evento, a su vez, ejecuta la operación del bean.
  • reRender=”echo, count”: Sin estas etiquetas no se mostraria los datos actualizados despues de la petición ajax, y hace que las etiquetas con los ID listados, se actualicen, esas etiquetas deben estar ligadas con el GET del bean.
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<h:form>
	<rich:panel>
		<h:panelGrid columns="2">
			<h:outputText value="Nombre" />
			<h:inputText value="#{echoBean.name}" />
			<h:outputText  value="echo:" />
			<h:outputText id="echo" value="#{echoBean.name}" />
			<h:outputText value="Count" />
			<h:outputText  id="count" value="#{echoBean.count}" />
 
		</h:panelGrid>
		<!--<h:commandButton actionListener="#{echoBean.countListener}" value="Submit" />-->
		<a4j:commandButton actionListener="#{echoBean.countListener}" value="Submit" reRender="echo,count" />
	</rich:panel>
	</h:form>
Tags: ejemplo, Java, RichFaces

Ajax, Articulos, Java, Programación , ,

  1. November 14th, 2008 at 18:16 | #1

    Hola,

    Alguien sabe porque no me pilla los estilos para los componentes a4j ???

    como pueda ser

    Para los demás componentes ejemplo componentes RichFaces si.

  2. November 14th, 2008 at 18:25 | #2

    Me refería a los estilos por defecto, es decir que los ponga solo, como cuando metes un rich:panel que te colorea el header con el degradado etc, pues lo mismo para los componentes a4j y que queden todo chulos los botones y demás elementos como en estos ejemplos.

    Lo que no quiero es dar estilos a mano o copiarlos de esa web por ejemplo y pasarlos a mi css, sino que los pille de donde leches lo tenga. Estoy desesperado… :S

  3. November 14th, 2008 at 18:34 | #3

    Si tenes todas las librerias, deberian aparecerte correctamente, ademas en el XML creo que deberia ir esto.

     <context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>classic</param-value>
      </context-param>

    Verifica si lo tienes …

  1. No trackbacks yet.