jsf

21
JSF ESTATICO *Crear un proyecto: file/new/ web aplicapplication *Seleccionar el servidor, versión de jee y ruta de inicio *Seleccionar el framework JSF Cliente (Browser ) Capa De Presentació n (index.xhtm l) Capa De Presentació n Backing Bean (cliente.ja va) Capa De Persistenci a (JPA EclipseLink ) Recurso Conjunto de Conexión Base de datos

Upload: pablo-almeida

Post on 08-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

JSF - Pablo Vinicio Almeida Haro

TRANSCRIPT

JSF ESTATICO

JSF ESTATICO

*Crear un proyecto: file/new/ web aplicapplication

*Seleccionar el servidor, versin de jee y ruta de inicio

*Seleccionar el framework JSF

*En la pgina index.xhtml que se cre automticamente colocar el cdigo que sigue a continuacin:








*Crear el backing bean: click derecho sobre source packages/java class

*Colocar el cdigo que sigue a continuacin:

package pkg_jsf_crud;

import java.util.List;

import javax.faces.bean.SessionScoped;

import javax.faces.bean.ManagedBean;

import javax.persistence.EntityManager;

import javax.persistence.EntityManagerFactory;

import javax.persistence.Persistence;

import javax.persistence.Query;

@ManagedBean()

@SessionScoped

public class cliente

{ public String codigo="";

public String nombre="";

public String mensaje="";

EntityManagerFactory factory=Persistence.createEntityManagerFactory("prj_jsf_crudPU");

EntityManager em1=factory.createEntityManager();

public cliente ()

{

}

public String getcodigo() {

return codigo;

}

public void setcodigo(String as_codigo) {

this.codigo = as_codigo;

}

public String getnombre() {

return nombre;

}

public void setnombre(String as_nombre) {

this.nombre = as_nombre;

}

public String getmensaje() {

return mensaje;

}

public void setmensaje(String as_mensaje) {

this.mensaje = as_mensaje;

}

public void insertar()

{

String sql ="insert into cliente (codigo,nombre) values ('"+codigo+"'"+","+"'"+nombre+"')";

em1.getTransaction().begin();

Query qe=em1.createNativeQuery(sql);

try

{

qe.executeUpdate();

em1.getTransaction().commit();

mensaje="Se insert satisfactoriamente";

}

catch (Exception ex)

{ em1.getTransaction().rollback();

mensaje="No se pudo insertar";

}

}

public void eliminar()

{

String sql ="delete from cliente where codigo='"+codigo+"'";

em1.getTransaction().begin();

Query qe=em1.createNativeQuery(sql);

int li_filas= qe.executeUpdate();

if (li_filas>=1)

{

em1.getTransaction().commit();

mensaje="Se elimin satisfactoriamente";

}

else

{

em1.getTransaction().rollback();

mensaje="No se pudo eliminar";

}

}

public void modificar()

{

String sql ="update cliente set nombre='"+nombre+"' where codigo='"+codigo+"'";

em1.getTransaction().begin();

Query qe=em1.createNativeQuery(sql);

int li_filas=qe.executeUpdate();

if (li_filas>=1)

{

em1.getTransaction().commit();

mensaje="Se actualiz satisfactoriamente";

}

else

{

em1.getTransaction().rollback();

mensaje="No se pudo modificar";

}

}

public void buscar()

{

String sql ="select * from cliente where codigo="+"'"+codigo+"'";

Query qe=em1.createNativeQuery(sql);

List l1=qe.getResultList();

if (l1.size()>=1)

{

Object [] ar_objeto=(Object [])(l1.get(0));

String ls_nombre=ar_objeto[1].toString();

nombre=ls_nombre;

mensaje="";

}

else

{

mensaje="No se encontro el cliente";

}

}

}

*Crear la unidad de persistencia: click derecho sobre el proyecto/new persistence unit. Colocar el nombre de la unidad de persistencia, escoger el proveedor de persistencia, escoger el origen de datos

*Correr la aplicacin:

JSF DINAMICO

*Creacin del proyecto: file/new/web application

*Colocar el nombre del proyecto

*Seleccionar servidor, versin de java, ruta de inicio

*Seleccionar el Framework

*Colocar en el index.xhtml el cdigo que sigue a continuacin:

Facelet Title

*Creacin de la capa de persistencia: click derecho en Source packages. Ingresar nombre de la clase y paquete

*Crear el pool de conexiones de acuerdo al capitulo ICEFACES USANDO CACHEDROWSETS Y POOL DE CONEXIONES/CREACION DEL POOL DE CONEXIONES

*Colocar el cdigo que sigue a continuacin:

package pkg_dinamico;

import com.sun.rowset.CachedRowSetImpl;

import javax.faces.bean.ManagedBean;

import javax.faces.bean.SessionScoped;

import javax.sql.rowset.CachedRowSet;

public class persistencia_cliente {

String is_error="";

CachedRowSetImpl icrs_despliegue;

public CachedRowSetImpl getIcrs_despliegue() {

return icrs_despliegue;

}

public void setIcrs_despliegue(CachedRowSetImpl icrs_despliegue) {

this.icrs_despliegue = icrs_despliegue;

}

public persistencia_cliente()

{ try

{

icrs_despliegue=new CachedRowSetImpl();

icrs_despliegue=new CachedRowSetImpl();

icrs_despliegue.setDataSourceName("pool_icefaces");

icrs_despliegue.setCommand("select * from cliente");

icrs_despliegue.execute();

// lcrs_1.close();

}

catch (Exception asex_1)

{

is_error=asex_1.getMessage();

}

}

}

Creacin del backing bean: clic derecho sobre el paquete pkg_dinamico/new/java class

*Ingresar el cdigo que sigue a continuacin:package pkg_dinamico;

import com.sun.rowset.CachedRowSetImpl;

import java.io.Serializable;

import java.util.List;

import javax.el.MethodExpression;

import javax.el.ValueExpression;

import javax.faces.bean.ManagedBean;

import javax.faces.bean.SessionScoped;

import javax.faces.component.UIColumn;

import javax.faces.component.UIComponent;

import javax.faces.component.html.HtmlCommandButton;

import javax.faces.component.html.HtmlDataTable;

import javax.faces.component.html.HtmlForm;

import javax.faces.component.html.HtmlInputText;

import javax.faces.component.html.HtmlOutputText;

import javax.faces.context.FacesContext;

import javax.sql.rowset.CachedRowSet;

@ManagedBean

@SessionScoped

public class cliente implements Serializable

{

HtmlCommandButton icb_insertar=new HtmlCommandButton();

HtmlCommandButton icb_eliminar=new HtmlCommandButton();

HtmlCommandButton icb_modificar=new HtmlCommandButton();

HtmlCommandButton icb_buscar=new HtmlCommandButton();

HtmlForm ifor_cliente=new HtmlForm();

HtmlOutputText iote_mensaje=new HtmlOutputText();

HtmlDataTable idta_simple=new HtmlDataTable();

UIColumn icol_1,icol_2;

HtmlOutputText iote_header_codigo,iote_header_nombre;

HtmlOutputText iote_codigo,iote_nombre;

HtmlOutputText iote_etq_codigo=new HtmlOutputText();

HtmlOutputText iote_etq_nombre=new HtmlOutputText();

HtmlInputText iite_codigo=new HtmlInputText();

HtmlInputText iite_nombre=new HtmlInputText();

persistencia_cliente ipcl_cliente=new persistencia_cliente();

public persistencia_cliente getIpcl_cliente() {

return ipcl_cliente;

}

public void setIpcl_cliente(persistencia_cliente ipcl_cliente) {

this.ipcl_cliente = ipcl_cliente;

}

public cliente()

{

iote_etq_codigo.setId("iote_etq_codigo");

iote_etq_codigo.setValue("Codigo:");

ifor_cliente.getChildren().add(iote_etq_codigo);

iite_codigo.setId("iite_codigo");

ifor_cliente.getChildren().add(iite_codigo);

iote_etq_nombre.setId("iote_etq_nombre");

iote_etq_nombre.setValue("Nombre:");

ifor_cliente.getChildren().add(iote_etq_nombre);

iite_codigo.setId("iite_nombre");

ifor_cliente.getChildren().add(iite_nombre);

iote_mensaje.setId("iote_mensaje");

iote_mensaje.setStyle("position:fixed;top:70px;left:10px;");

icb_insertar.setId("insertar");

icb_insertar.setValue("Insertar");

icb_insertar.setActionExpression(configurar_accion("#{cliente.insertar}"));

icb_insertar.setStyle("position:fixed;top:35px;left:5px;");

ifor_cliente.getChildren().add(icb_insertar);

icb_eliminar.setId("eliminar");

icb_eliminar.setValue("eliminar");

icb_eliminar.setStyle("position:fixed;top:35px;left:80px;");

icb_eliminar.setActionExpression(configurar_accion("#{cliente.eliminar}"));

ifor_cliente.getChildren().add(icb_eliminar);

icb_modificar.setId("modificar");

icb_modificar.setValue("modificar");

icb_modificar.setActionExpression(configurar_accion("#{cliente.modificar}"));

icb_modificar.setStyle("position:fixed;top:35px;left:160px;");

ifor_cliente.getChildren().add(icb_modificar);

icb_buscar.setId("buscar");

icb_buscar.setValue("buscar");

icb_buscar.setActionExpression(configurar_accion("#{cliente.buscar}"));

icb_buscar.setStyle("position:fixed;top:35px;left:240px;");

ifor_cliente.getChildren().add(icb_buscar);

ifor_cliente.getChildren().add(iote_mensaje);

construir_tabla();

ifor_cliente.getChildren().add(idta_simple);

}

private ValueExpression createValueExpression(String valueExpression, Class valueType) {

FacesContext facesContext = FacesContext.getCurrentInstance();

return facesContext.getApplication().getExpressionFactory().createValueExpression(

facesContext.getELContext(), valueExpression, valueType);

}

public String construir_tabla()

{

idta_simple.setId("idta_cliente");

idta_simple.setStyle("position:fixed;top:100px;left:10px;");

FacesContext ifco_1=FacesContext.getCurrentInstance();

idta_simple.setValueExpression("value",createValueExpression("#{cliente.ipcl_cliente.icrs_despliegue}", CachedRowSet.class));

idta_simple.setVar("currentrow");

icol_1 = new UIColumn();

icol_1.setId("col_codigo");

icol_2 = new UIColumn();

icol_2.setId("col_nombre");

iote_header_codigo = new HtmlOutputText();

iote_header_codigo.setId("hea_codigo");

iote_header_codigo.setValue("CODIGO");

iote_header_nombre = new HtmlOutputText();

iote_header_nombre.setId("hea_nombre");

iote_header_nombre.setValue("NOMBRE");

icol_1.setHeader(iote_header_codigo);

iote_codigo=new HtmlOutputText();

iote_codigo.setId("iote_codigo");

iote_codigo.setValueExpression("value",createValueExpression("#{currentrow['codigo']}", String.class));

// iote_codigo.setValueBinding("value",(ValueBinding)ifco_1.getApplication().createValueBinding("#{currentrow['codigo']}"));

icol_1.getChildren().add(iote_codigo);

icol_2.setHeader(iote_header_nombre);

iote_nombre=new HtmlOutputText();

iote_nombre.setId("iote_nombre");

iote_nombre.setValueExpression("value",createValueExpression("#{currentrow['nombre']}", String.class));

// iote_nombre.setValueBinding("value",(ValueBinding)ifco_1.getApplication().createValueBinding("#{currentrow['nombre']}"));

icol_2.getChildren().add(iote_nombre);

idta_simple.getChildren().add(icol_1);

idta_simple.getChildren().add(icol_2);

return null;

}

public HtmlCommandButton getIcb_insertar() {

return icb_insertar;

}

public void setIcb_insertar(HtmlCommandButton acb_insertar) {

this.icb_insertar = acb_insertar;

}

public String insertar()

{ {

try

{

ipcl_cliente.icrs_despliegue.moveToInsertRow();

ipcl_cliente.icrs_despliegue.updateString("codigo",(String) iite_codigo.getValue());

ipcl_cliente.icrs_despliegue.updateString("nombre",(String) iite_nombre.getValue());

ipcl_cliente.icrs_despliegue.insertRow();

ipcl_cliente.icrs_despliegue.moveToCurrentRow();

ipcl_cliente.icrs_despliegue.acceptChanges();

iote_mensaje.setValue("Se inserto satisfactoriamente"); }

catch (Exception ex)

{

iote_mensaje.setValue("No se pudo insertar");

}

}

return null;

}

public String eliminar()

{ iote_mensaje.setValue(" ");

try

{ String ls_codigo="";

String ls_nombre="";

int li_filas=ipcl_cliente.icrs_despliegue.size();

for (int i=1; i