Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Labaoratio de JSF PDF
Labaoratio de JSF PDF
TALLER DE TRANSACCIONES PERSONALIZADAS (parte III) OBJETIVOS En este laboratorio desarrollaremos una aplicacin que maneja procedimientos personalizados desde diversas viewObjects y el paso de datos entre paginas.
El cdigo SQL para la creacin de las tablas ser cedido por el instructor del curso.
javier_calizaya@yahoo.com
Pgina 1
javier_calizaya@yahoo.com
Pgina 2
javier_calizaya@yahoo.com
Pgina 3
3. Programacin en el ViewController 1. Dentro del la carpeta public_html crearemos una carpeta images y dentro de ello pondremos las imgenes que utilizaremos en nuestra aplicacin.
Clic derecho en ViewController / New El asistente ira guiando en la creacin de la pagina En el paso 2, seleccionar la opcin:
No debe tener un manager Bean. En el paso 4 seleccionar la imagen que desea como fondo de su pagina.
javier_calizaya@yahoo.com
Pgina 5
4. Debe configurar la navegacin entre las paginas JSF Clic derecho a ViewController / Open JSF Navigation Disear la siguiente navegacin entre pginas:
javier_calizaya@yahoo.com
Pgina 6
5. Definir navegacin global en el JSF, poner vista de Source y agregar las lineas de codigo:
javier_calizaya@yahoo.com
Pgina 7
En la imagen estamos vinculando el tab Venta con la navegacin global gventa mediante el atributo action. Repetir el procedimiento para cada uno de los tabs con su respectiva navegacin.
javier_calizaya@yahoo.com Pgina 8
7. Creacin de las paginas: Seleccionar la pagina plantilla.jsp del Application Navigation y luego dar clic al men File / Save as
Ponerle de nombre cliente.jsp Repetir el procedimiento para cada una de las pginas. El navigation debe quedar con la siguiente vista:
javier_calizaya@yahoo.com
Pgina 9
8. Una vez creadas las paginas, colocar al atributo select de los tab en true depediendo de la pagina en la que nos encontramos.
En la imagen, estamos en la pagina venta.jsp . Repetir el proceso para cada una de las pginas
javier_calizaya@yahoo.com
Pgina 10
10. Mantenimiento de pginas mediante asistente. Mediante el asistente generaremos el mantenimiento para las paginas cliente.jsp y producto.jsp. A. Pagina Cliente Desde el DataControl arrastramos hacia la pgina el componente ClienteView1 Seleccionamos la opcion Tables / ADF Read-Only Table
javier_calizaya@yahoo.com
Pgina 11
javier_calizaya@yahoo.com
Pgina 12
Agregamos a la tabla un boton de tipo nuevo, este boton lo generaremos desde ClienteView1 , lo arrastramos hacia la tabla de la pagina web:
A. Pagina ClienteDetalle En esta pagina arrastraremos tambin desde el DataControl la vista ClienteView1, pero ahora con la opcion Forms / ADF Form
javier_calizaya@yahoo.com
Pgina 13
javier_calizaya@yahoo.com
Pgina 14
Por ultimo al botn guardar agregarle en su atributo action Ircliente. Ejecutar la pgina cliente.jsp y comprobar la transaccin. * Repetir el procedimiento para la pagina Producto.
javier_calizaya@yahoo.com
Pgina 15
10. Mantenimiento de Pginas mediante Backing y procedimientos personalizados. El asistente nos ayuda a agilizar el desarrollo, pero cuando los procesos son complejos, en el desarrollo de un sistema, es necesario utilizar un respaldo que nos permita tener un mejor control sobre los objetos. Por este motivo crearemos un backing. 1. Clic derecho en el ViewController / new Seleccionar java class:
javier_calizaya@yahoo.com
Pgina 16
Cada control que coloquemos en la pagina venta.jsp automticamente sera creado como objeto en el bkventa.
Agregar 2 Panel Horizontal: phproducto phmovimiento En el panel Horizontal phmovimiento colocaremos una tabla que se generara del componente MovimientoView1:
javier_calizaya@yahoo.com
Pgina 19
Para que cambie dinmicamente el formulario de la derecha conforme se haga una seleccin en la tabla se debe hacer lo siguiente: a. La tabla debe tener un id = tbmovimiento b. En el radio de la tabla , la propiedad autosubmit debe encontrar en true. c. En el formulario, su propiedad partialTrigger debe apuntar a tbmovimiento En el panelhorizontal phproducto de la misma forma agregarle una tabla tbproducto y un formulario, y repetir el procedimiento ya mencionado.
javier_calizaya@yahoo.com
Pgina 20
5. Agregarle un botn Comenzar Venta a la pagina con el action= irventadetalle La presentacin final de la pgina seria de esta manera:
Si revisa el backing BkVenta se dara cuenta que conforme ha ido generando objetos en la pagina venta.jsp tambien se han ido creando instancias de las clases que dan soporte a los controles ADF Faces. Cuando se de clic al boton comenzar Venta debe aparecer la pagina ventadetalle.jsp.
javier_calizaya@yahoo.com
Pgina 21
11. Desarrollo de interfaz grafica de la pagina ventadetalle.jsp Debe crear una clase BkDetalleVenta y asignarle un scope de tipo request en el faces-context.xml.
Diseo de la interfaz grafica, agregar un formulario y los componentes: 1. txtmovimiento 2. txtnombreproducto 3. txtidproducto 4. txtunidades 5. txttotallocal 6. txttotaldolar 7. cmdgrabar
Ejecutar la pagina:
javier_calizaya@yahoo.com
Pgina 22
12. Para grabar un detalle son necesarios los datos de idmovimiento y idproducto, estos datos se encuentran en la pagina ventas.jsp, con un paso de parmetros mediante el backing podremos lograr completar esta funcionalidad. Para este caso vamos a pasar tres parmetros: Idmovimiento nombreProducto idproducto
javier_calizaya@yahoo.com
Pgina 23
La navegacin entre estas dos paginas se da con la variable irventadetalle , que esta siendo trabajada desde el boton comenzar Venta de la pagina venta.jsp. Ingresaremos al cdigo de la clase BkVenta.java Y declararemos 3 variables con sus respectivos accesores set / get
javier_calizaya@yahoo.com
Pgina 24
Regresamos a la pgina y le damos clic derecho sobre el botn Comenzar Venta y seleccionamos la opcion: (Antes de hacer este procedimiento debemos dejar en blanco su propiedad action)
Aparece una ventana que indica que se va a generar un mtodo para este botn, de tipo action.
javier_calizaya@yahoo.com
Pgina 25
En este mtodo capturaremos los valores de las cajas de texto y las cargaremos en un request, este request es el que llevara las variables hacia la pagina ventadetalle.jsp.
javier_calizaya@yahoo.com
Pgina 26
Vamos a la pagina ventadetalle.jsp y vamos a cargar a los tres controles con su respectivo value que proviene del backing bkventa.
javier_calizaya@yahoo.com
Pgina 28
En la parte inferior de la pgina crearemos una tabla que muestre dinmicamente las inserciones que se van haciendo en detalle. Para que esta tabla se actualice dinmicamente debemos crear un method action en el pageDefinition.
Seleccionar la opcion:
javier_calizaya@yahoo.com
Pgina 29
Dentro de la carpeta binding dar doble clic a la method Execute y en la ventana emergente seleccionar las opciones:
javier_calizaya@yahoo.com
Pgina 31