viernes, 24 de septiembre de 2010

Registro de Un Egreso

El tema central de nuestro proyecto trata de que un Becario pueda ir registrando sus gastos y asi sabra cuanto dinero le queda para cada tipo de rubro.
En nuestra pantalla de Ingreso de Gasto tenemos la opcion de que el usuario tome un egreso, coloque la fecha en que realizo ese egreso una pequeña descripcion y el valor que gasto en ese rubro.

Como se puede observar en la imagen se va generando una tabla con cada uno de los gastos que el becario va registrando.
Te da la opcion de eliminar uno de dicha lista si es que no esta correcto el valor.
Tambien se puede observar que en el cuadro de Valor del Gasto, se va indicando cuanto le queda por gastar, si el valor excede del monto maximo le sale un mensaje y se bloquea el boton para registrar ese valor en la lista.

El codigo del Controlador es el siguiente:


jueves, 16 de septiembre de 2010

DAW - Uso de Filtros


Uso de filtros en Java

Siempre nos surge la necesidad de desarrollar la seguridad o controlar los “eventos” de navegación, para este caso existen los Filtros, un filtro permite que determinada petición o respuesta sea analizada bajo ciertas condiciones.
Una de las principales características de un filtro es que puede ser colocado en cualquier punto del flujo de la aplicación, ya sea entre una solicitud de JSP a JSP, Servlet a Servlet, o inclusive Servlet/JSP a HTML, la única condición que debe cumplirse es que debe existir un objeto de entrada (ServletRequest) y otro de salida (ServletResponse).
A continuación una vista de como quedó nuestro web.xml con sus distintos parámetros creados.
Aquí podemos observar como quedo mapeado nuestro Servlet.

Aquí podemos observar como quedo mapeado nuestro Filtro, ademas del uso de parámetros de inicio utilizados.

Ademas seteamos parámetros de configuración de nuestra aplicación, como por ejemplo el tiempo limite de sesión, Archivo de Bienvenida y paginas de error.

BUSQUEDA EN LOS MANTENIMIENTOS

BUSQUEDA EN LOS MANTENIMIENTOS

Una opción que da nuestra página es la búsqueda de los datos que se encuentran en la base de datos para poder ser modificados.

Se ha colocado al lado del cada campo código un botón que dice “BUSCAR...”

Al presionar este botón se va hacia la base de datos, carga toda la información referente al mantenimiento que se trabajando y finalmente la muestra en una pantalla presentada en un LightBox.



Como se muesta en la imagen, se genera una tabla, la cual al presionar una fila, se cerrara y dichos campos aparecerán en cada uno de los textbox para su modificación.

Se utilizo ajax y trabajo con el manejado para esta funcionalidad.

Se presenta acontinuacion el código del LightBox, tanto de CSS como de javascript.

A continuación se presenta el código del manejador con ajax para cargar los datos dentro de una tabla y luego ser presentado en un LightBox.

jueves, 9 de septiembre de 2010

Libreria DisplayTag y Consulta de Movimientos

Libreria DisplayTag:
DisplayTag es un una librería de tags jsp open source que es de gran utilidad a la hora de trabajar con una arquitectura MVC, permite mostrar tablas dentro de los jsp sin la necesidad de recurrir al Scriplet o la utilización de varios tag de JSTL o Struts.

Entre las funcionalidades más destacadas de esta librería: paginación, ordenamiento, exportación de las tablas (en varios formatos: pdf, rtf, csv, Excel, XML).
Para Exportar:
Para Paginacion:


Consulta de Becario por Movimiento Mensual:
Esta Consulta ya esta terminada.
Hice uso de la libreria Display Tag para mostrala y exportarla a un archivo de Excel y PDF.
En el Servlet se llama a una metodo de la clase TbDetalleGasto que llena la una lista con los Gastos correspondientes a la Consulta.
Aqui se muestra el Servlet:

Mantenimiento de Tablas

Para nuestro proyecto II se busco que la aplicacion web sea mas amigable para el usuario y pueda dar mantemiento a las tablas que posee en la base de datos.En estos mantenimientos, el administrador podra:
  • Ingresar un elemento nuevo
  • Modificar un elemento Existente
  • Eliminar un elemento que existe en la base
A continuacion se agregara una imagen del mantenimiento de la tabla ciudad que existe en nuestra base de datos.

En la imagen adjunta de muestra la pantalla del mantenimiento cuando el usuario presiono uno nuevo. Como podemos ver el campo codigo se bloquea y solo permite ingresar los otros datos.

Para que los datos se almacen en la base de datos el usuario administrador debe presionar el boton guardar.

El codigo para el manejo de los mantenimientos es:


Característica Social en nuestra Aplicación



Facebook Connect

Facebook Connect es un poderoso conjunto de APIs para desarrolladores web que permiten usar la infraestructura de comentarios y autenticación de usuarios de facebook dentro de otras páginas web. Hay que aclara que para usar Facebook Connect, lo primero es tener una cuenta en Facebook.
En realidad se trata de la unión de la API ya existente de Facebook con una nueva API en javascript. Esta nueva API nos permite realizar las acciones de las que anteriormente se encargaba el propio facebook al mostrar nuestra aplicación. Son más pero lo que nos sobretodo nos interesa es saber que nos va permitir hacer 3 cosas:

  1. Iniciar sesión en Facebook Connect: una sesión de facebook iniciada en nuestro propio site. La api javascript de facebook se encargará de generar la ventana modal en nuestro site para que el usuario de permisos a nuestra web para interactuar con su usuario de Facebook.
  2. Métodos de la API desde javascript Podemos lanzar algunos de los métodos más comunes de las apis de servidor (PHP, ASP, Java, C#, etc...) mediante esta nueva API javascript.
  3. Trabajar con el lenguaje FBML (FaceBook Marckup Language) en nuestro site. Esta es la parte facil de integrar en el site, por la cual sin dejar de usar javascript meternos en lenguaje de servidor podremos mostrar al usurio sus datos de facebook mediante etiquetas especificas de facebook: Su nombre, su foto, las fotos de su amigos.
Facebook usa una rebuscada técnica (que no vamos a explicar) para poder conseguir ajax crossdomain desde nuestro site hacia el de facebook. Lo primero que tenemos que hacer para aplicarla es buscar un sitito que no nos moleste mucho dentro de nuestro dominio y crear un archivo html con el nombre "xd_receiver.htm". Dentro, este html tiene que incluir el siguiente código.
Debemos añadir las librerias JS que nos permiten conectar con facebook. Estas llamadas Javascript se recomiendan poner justo antes del cierre de body, pero pueden ser puestas en cualquier sitio.

Por último, añadir donde se quieran mostrar los comentarios, las etiquetas fbml que gestionan y montan toda la parte de los comentarios.

Fuente:
  • http://developers.facebook.com
  • http://blog.creacciona.com/como-integrar-comentarios-en-tu-web-con-facebook-connect/
  • http://parafacebook.foro-gratuito.es/desarrollo-de-aplicaciones-f5/como-usar-facebook-connect-en-nuestra-web-t3.htm




miércoles, 25 de agosto de 2010

HIBERNATE HQL


¿Cómo consultar utilizando parámetros con nombres?
Para usar la condición LIKE con un signo "%" para coincidencia de patrones en una consulta HQL con parámetros con nombre requiere algunos ajustes.
Para los que estamos familiarizados con el uso de consultas SQL podríamos pensar que algo así funcionaria:

String query = "from user u where u.name like '%:name%'"
getHibernateTemplate().findByNamedParam(query, "name", str);

Pero no, el resultado fue: org.hibernate.QueryException: char inesperada: "% error".
Lo que realmente funcionó fue poner el "%" signos en el parámetro, para que nos quede algo así:

String query = "from user u where u.name like :name"
getHibernateTemplate().findByNamedParam(query, "name", '%' + str + '%');

 Referencias:
Hibernate: a developer's notebook, por James Elliot