Вы находитесь на странице: 1из 18

JSF ESTATICO

Cliente
(Browser)

Capa

Capa
De

De
Presentacin
(index.xhtml)

Presentacin
Backing
Bean

Capa
Conjunto
De

Recurso

de

Persistencia
Conexin
(JPA
EclipseLink)

(cliente.java)

*Crear un proyecto: file/new/ web aplicapplication

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

*Seleccionar el framework JSF

Base
de

datos

*En la pgina index.xhtml que se cre automticamente colocar el cdigo


que sigue a continuacin:
<?xml version='1.0' encoding='UTF-8' ?>
<!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/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
</h:head>
<h:body>
<h:form id="form">
<h:outputText value="CLIENTES"/>
<br></br><br></br>
<h:outputText value="Cdigo:"/>
<h:inputText id="codigo" value="#{cliente.codigo}" />
<br></br>
<h:outputText value="Nombre:"/>
<h:inputText id="nombre" value="#{cliente.nombre}"/>
<br></br><br></br>
<h:commandButton id="insertar" value="Insertar"
action="#{cliente.insertar}"> </h:commandButton>

<h:commandButton id="eliminar" value="Eliminar"


action="#{cliente.eliminar}" > </h:commandButton>
<h:commandButton id="modificar" value="Modificar"
action="#{cliente.modificar}"> </h:commandButton>
<h:commandButton id="buscar" value="Buscar"
action="#{cliente.buscar}"> </h:commandButton>
<br></br><br></br>
<h:outputText value="#{cliente.mensaje}"/>
</h:form>
</h:body>
</html>

*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
Cliente
(Browser)

Capa

Capa

Capa

De

De

De

Presentacin

Presentacin

Persistencia

(index.xhtml)

Backing

Propia

Bean

(persistencia_
cliente.java)

(cliente.java)

*Creacin del proyecto: file/new/web application

Conjunto

Base

de

de

Conexin

datos

Recurso

*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:


<?xml version='1.0' encoding='UTF-8' ?>
<!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/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form id="cliente" binding="#{cliente.ifor_cliente}" ></h:form>
</h:body>
</html>
*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
import
import
import
import
import
import
import
import
import
import
import
import
import
import

com.sun.rowset.CachedRowSetImpl;
java.io.Serializable;
java.util.List;
javax.el.MethodExpression;
javax.el.ValueExpression;
javax.faces.bean.ManagedBean;
javax.faces.bean.SessionScoped;
javax.faces.component.UIColumn;
javax.faces.component.UIComponent;
javax.faces.component.html.HtmlCommandButton;
javax.faces.component.html.HtmlDataTable;
javax.faces.component.html.HtmlForm;
javax.faces.component.html.HtmlInputText;
javax.faces.component.html.HtmlOutputText;
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.modific
ar}"));
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().createValueExpres
sion(
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("#{client
e.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("#{curren
trow['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("#{curren
trow['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<=li_filas;i++)
{
ipcl_cliente.icrs_despliegue.absolute(i);
ls_codigo=ipcl_cliente.icrs_despliegue.getString("codigo");
if
(ls_codigo.compareTo((String)iite_codigo.getValue())==0)
{
ipcl_cliente.icrs_despliegue.deleteRow();
ipcl_cliente.icrs_despliegue.acceptChanges();
iote_mensaje.setValue("Se elimin
satisfactoriamente");
break;
}
}
if (((String)iote_mensaje.getValue()).compareTo(" ") ==0)
{
iote_mensaje.setValue("No se pudo eliminar");
}
}
catch (Exception ex)
{
iote_mensaje.setValue("No se pudo eliminar");
}
return null;
}
public String modificar()
{iote_mensaje.setValue(" ");
try
{
String ls_codigo="";
int li_filas=ipcl_cliente.icrs_despliegue.size();
for (int i=1; i<=li_filas;i++)
{
ipcl_cliente.icrs_despliegue.absolute(i);
ls_codigo=ipcl_cliente.icrs_despliegue.getString("codigo");
if
(ls_codigo.compareTo((String)iite_codigo.getValue())==0)
{
// icrs_cliente.updateString("codigo",codigo);
ipcl_cliente.icrs_despliegue.updateString("nombre",
(String) iite_nombre.getValue());
ipcl_cliente.icrs_despliegue.moveToCurrentRow();
ipcl_cliente.icrs_despliegue.acceptChanges();
iote_mensaje.setValue("Se actualiz
satisfactoriamente");
break;
}
}
if (((String) iote_mensaje.getValue()).compareTo(" ") ==0)
{
iote_mensaje.setValue("No se pudo actualizar");

}
}
catch (Exception ex)
{
iote_mensaje.setValue("No se pudo actualizar");
}
return null;

public String buscar()


{iote_mensaje.setValue(" ");
try

String ls_codigo="";
String ls_nombre="";
int li_filas=ipcl_cliente.icrs_despliegue.size();
for (int i=1; i<=li_filas;i++)
{
ipcl_cliente.icrs_despliegue.absolute(i);

ls_codigo=ipcl_cliente.icrs_despliegue.getString("codigo");
ls_nombre=ipcl_cliente.icrs_despliegue.getString("nombre");
if (ls_codigo.compareTo((String)
iite_codigo.getValue())==0)
{
iite_nombre.setValue(ls_nombre);
iote_mensaje.setValue("Registro encontrado");
break;
}
}
if (((String) iote_mensaje.getValue()).compareTo(" ") ==0)
{
iote_mensaje.setValue("No se encontr el
registro");
}
}
catch (Exception ex)
{
iote_mensaje.setValue("No se encontr el registro");
}
}

return null;

public MethodExpression configurar_accion(String action)


{
MethodExpression methodExpression =
FacesContext.getCurrentInstance().getApplication().getExpressionFactor
y().
createMethodExpression(FacesContext.getCurrentInstance().getELContext(
), action, null,new Class<?>[0]);
return methodExpression;
}
public HtmlForm getIfor_cliente() {
return ifor_cliente;

}
public void setIfor_cliente(HtmlForm afor_1) {
this.ifor_cliente = afor_1;
}
}

*Correr el proyecto: clic derecho sobre el proyecto/run

Вам также может понравиться