Mostrando entradas con la etiqueta java server faces. Mostrar todas las entradas
Mostrando entradas con la etiqueta java server faces. Mostrar todas las entradas

viernes, octubre 21, 2011

Creando una aplicacion con JSF RichFaces parte V

Esta es la ultima entrada respecto a RICHFACES, no agrego integracion con hibernate, por el hecho de que no he posteado sobre el de forma individual, como sea lo retomare en el futuro.

ahora solo nos queda crear un flujo basico que utiliza richfaces...

seran dos jsp, una pantalla de login y otra de bienvenida.

1.- jsp de login.

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
 
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

html
    head
    /head
    body
    

/body /html
2.- bean de login.
public class Login {
 private String nombre;
 private String password;
 
 public String getNombre() {
  return nombre;
 }
 public void setNombre(String nombre) {
  this.nombre = nombre;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 } 
 public void limpiar(){
  setPassword("");
  setNombre("");
 }
}
3.- bean loginService.
public class LoginService{
private Login login;
public String loginAction() {  
 if(getLogin().getNombre()!=null && getLogin().getPassword()){   
  return "loginOk";
 }  
return null;
}
public void setLogin(Login login) {
 this.login = login;
}
public Login getLogin() {
 return login;
}
}

4.- jsp de bienvenida.
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
 
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

html
    head
    /head
    body
          
              
          
    /body
/html

5.- configuracion del faces config.

     /login.jsp
     
          loginOk
               /bienvenida.jsp
               
       



     /bienvenida.jsp


LISTO AQUI TENEMOS UN FLUJO BASICO PARA NUESTRO JSP, CON ESTO TERMINO LOS POST SOBRE RICHFACES BASICO, EN SIGUIENTES ENTRADAS PUBLICARE SOBRE FACELETS Y COSASQUE HARAN QUE FURULE MEJOR NUESTRO SISTEMA

miércoles, octubre 19, 2011

Creando una aplicacion con JSF RichFaces parte IV

Despues de una larga ausencia, regreso con todas las ganas, a terminar este mini tutorial de richfaces.
En esta entrada señalare lo basico de richfaces y jsf como tal.

1.- Al utilizar jsf nos olvidamos de la mayoria de las etiquetas html que utilizabamos anteriormente
pero aparecen otras:
     <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
     <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
     <%@taglib prefix="rich" uri="http://richfaces.org/rich"%>
     <%@taglib prefix="a4j" uri="http://richfaces.org/a4j"%>
2.- El prefijo f
/**
* son el conjunto de etiquetas basicas de jsf puro, donde podemos encontrar
* vistas, select, validadores, es de algun modo poco utilizada
*/
3.- El prefijo h
/**
* en esta etiqueta podemos encontrar componentes html, como tablas, formularios
* cajas de texto, etiquetas, botones, selectores, etiquetas para imprimir mensajes
*/
4.- El prefijo rich
/**
* en esta etiqueta podemos encontrar, tablas, validadores, calendarios, selectores,
* menus de contexto, menus, arboles, efectos, etiquetas para utilizar google maps.
*/
5.- El prefijo a4j
/**
* con esta etiqueta utilizamos componentes ajax, como listeners,
* includes, botones, link, funciones js, formularios etc.
*/
6.- Donde agregamos los prefijos en nuestro jsp?

     <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
     <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
     <%@taglib prefix="rich" uri="http://richfaces.org/rich"%>
     <%@taglib prefix="a4j" uri="http://richfaces.org/a4j"%>
7.- Estructura basica de un jsp con jsf

    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
     <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
     <%@taglib prefix="rich" uri="http://richfaces.org/rich"%>
     <%@taglib prefix="a4j" uri="http://richfaces.org/a4j"%>




    
        
        
    



8.- Definicion del faces-config.xml



    /index.jsp
    
        iniciar
        /inicio.jsp
        
    



  /inicio.jsp




AHORA PODEMOS REALIZAR UNA PEQUEÑA APLICACION JSF, Q ES LO QUE
SE PRETENDE EN LA SIGUIENTE ENTRADA... SALUDOS!

martes, agosto 16, 2011

Creando una aplicacion con JSF RichFaces parte III

En esta ocacion haremos la integracion de nuestro proyecto con el framework de spring, que nos ayudara a hacer inyeccion de dependencias he integrar funcionalidades me una manera mas facil y transparente.

En la anterior entrada olvide comentar 2 puntos, donde poner el log4j y como invocarlo
     

     log4jConfigLocation     /WEB-INF/log4j.xml

     
          org.springframework.web.util.Log4jConfigListener
     


Ahora si para agregar spring a nuestro proyecto: 

1.- Agregando las librerias
/**
* En mi Caso utilizo las varsiones 3.0.5 de estos jar
* org.springframework.asm.jar
* org.springframework.beans.jar
* org.springframework.context.jar
* org.springframework.core.jar
* org.springframework.expression.jar
* org.springframework.web.jar
*/
2.- Creando el application-context.xml






3.- Modificando el web.xml


     contextConfigLocation               /WEB-INF/applicationContext-faces.xml
     
	


     
          org.springframework.web.context.ContextLoaderListener
     


     
          org.springframework.web.util.IntrospectorCleanupListener
     


     
          org.springframework.web.context.request.RequestContextListener
     


4.- Modificando el faces-config.xml







     org.springframework.web.jsf.DelegatingVariableResolver


5.- Creando los bean
/**
* lo hare estilo struts, un form que llamo bean y un action que llamo "cont"
* el bean lo coloco en com.tutorial.rich.faces.bean
* el contenedor lo coloco en com.tutorial.rich.faces.content
*/

public class Login {
private String usuario;
private String password;

public String getUsuario() {
	return usuario;
}
public void setUsuario(String usuario) {
	this.usuario = usuario;
}
public String getPassword() {
	return password;
}
public void setPassword(String password) {
	this.password = password;
}
}

/**
* agrego una llamada a mi log4j
*/
public class LoginCont {
	private static Logger log = Logger.getLogger(LoginCont.class);
	
private Login loginBean;

public Login getLoginBean() {
	return loginBean;
}
public void setLoginBean(Login loginBean) {
	this.loginBean = loginBean;
}

public String cmdLogin(){
	if(getLoginBean().getUsuario().equals("") 
|| getLoginBean().getPassword().equals("")){
		log.info("usuario invalido");
	}else{
		log.info("usuario valido");		
	}
	return null;
}
}
6.- Invocando al bean desde el jsp

  
    



















NOTAS, HASTA AQUI TENEMOS CONFIGURADO SPRING Y UN EJEMPLO DE COMO ACCESAREMOS A LOS BEANS,
PERO AUN NO EXPLICO EL FUNCIONAMIENTO DE JSF, LO HARE AL MOMENTO QUE TENGAMOS HIBERNATE INTEGRADO CON NUESTRO PROYECTO..., RECUERDA SI TIENES DUDAS U OBSERVACIONES AGRADECERE TUS COMENTARIOS

martes, junio 07, 2011

Creando una aplicacion con JSF RichFaces parte I

Esta ocacion haremos una aplicacion con jsf, utilizando el framework RichFaces, iremos desde la configuracion basica, manejo de sessiones, interna internacionalizacion, configuracion de log4j (que ya vimos), integracion con Spring, Hibernate.

por lo tanto sera una serie de post ligueramente extensa :)

En esta primer post, solo tomare la configuracion basica de un proyecto con jsf y su integracion con rich

1.- Primero hay que descargar las siguientes librerias
commons-beanutils
commons-collections
commons-digester
commons-logging

richfaces-api-3.3.3
richfaces-impl-3.3.3
richfaces-ui-3.3.3
2.- Lo siguiente si utilizas MyEclipce, NetBeans, es lo mismo, cambia ligeramente para Eclipce (Faltarian mas librerias)
/**
Para MyEclipce

1.- Crear un proyecto web
2.- Agregar capacidades para JSF

Para NetBeans

1.- Crear un proyecto JSF simple, (no crear un proyecto para woodstock o icefaces)

Agregarles las librerias antes descargadas
*/
3.- Viendo la estructura basica de un proyecto jsf
/**
Una ves creado nuestro proyecto podemos ver 2 caracteristicas diferentes a un proyecto web normal

El primero es que ha cambiado nuestro web.xml

El segundo, se ha creado un archivo faces-config.xml a la altura de web.xml
*/
4.- Analizando al faces-config





5.- Modificando el web.xml




 
  javax.faces.STATE_SAVING_METHOD
  server
 


 
  org.richfaces.SKIN
  blueSky
 


 
  org.richfaces.LoadScriptStrategy
  ALL
 


 
  org.richfaces.LoadStyleStrategy
  ALL
 


 
  org.richfaces.CONTROL_SKINNING
  enable
 


 
  ajax4jsf
  org.ajax4jsf.Filter
 

 
  ajax4jsf
  Faces Servlet
  REQUEST
  FORWARD
  INCLUDE
 



 
  Faces Servlet
  javax.faces.webapp.FacesServlet
  0
 


 
  Faces Servlet
  /faces/*
 


 
  faces/index.jsp
 


Hasta aqui solo tenemos la configuracion basica para ejecutar rich faces, en la siguiente entrada haremos nuestro primer hola mundo . . .