viernes, 29 de noviembre de 2013

Struts 2 - Parte 7: Tags

Cuando desarrollamos aplicaciones es importante tener un buen back-end que soporte la lógica de la aplicación, y del mismo modo es importante tener un buen front-end, ya que será esta con la que nuestros usuarios interactuarán introduciendo y viendo información. Es por esto que para crear la vista (las páginas web) debemos usar un conjunto de elementos que nos permitan mostrar la información correcta, darle el formato adecuado, y realizar pequeños bloques de lógica en caso de ser necesario (ciclos, condiciones, constantes, etc.).

En el mundo web de Java estos componentes generalmente son implementados en forma de etiquetas (tags). Prácticamente todos los frameworks web de Java incluyen su propio conjunto de etiquetas que se integran perfectamente con los motores de negocio, para hacer uso de las ventajas particulares del framework. Struts 2 no es la excepción, y presenta un conjunto amplio de etiquetas para manejar la información que será presentada al cliente, y además ayudar a dar formato a los componentes de la interfaz de usuario, dándonos la libertad de elegir entre varios "modos".

En este tutorial aprenderemos a usar todas las etiquetas que Struts 2 nos proporciona actualmente, junto con algunos detalles de cada uno de los temas o layouts que nos proporciona.

martes, 26 de junio de 2012

Struts 2 - Parte 6: Interceptores

Al desarrollar una aplicación, es necesario desarrollar algunas funcionalidades de utilidad que nos hagan más fácil el desarrollo de los procesos de negocio en los cuales estamos interesados. Algunos ejemplos de estas funcionalidades pueden ser el verificar que el usuario haya iniciado una sesión en el sistema, o que tenga permisos para ejecutar la operación que está solicitando, convertir los parámetros de un tipo a otro (de String a Date, o a int), verificar que se hayan proporcionado los datos que son obligatorios, agregar alguna información a la sesión del usuario, etc.

La mayoría de estas funcionalidades pueden ser creadas de una forma genérica y usadas en varias partes de nuestra aplicación o en varias aplicaciones.

Struts 2 integra un mecanismo que nos permite abstraer estas funcionalidades de una manera sencilla, aplicarlas de forma transparente a las acciones que la necesiten (que pueden ser desde una hasta todas las acciones de la aplicación) y configurarlas a través del uso de parámetros.

En este tutorial aprenderemos cómo configurar los interceptores que vienen integrados con Struts 2, además de crear nuestros propios interceptores, agregarlos a un Action, y agregarlos a la pila que se aplica por default a los Actions de nuestra aplicación.

sábado, 7 de abril de 2012

Struts 2 - Parte 5: Tipos de Results

Cada vez que un Action termina su ejecución, se muestra un resultado al usuario. Estos resultados pueden ser de muchos tipos y tener muchos significados. El tipo más común de resultado es mostrar al usuario una nueva página web cierta información, pero ¿si quisiéramos hacer otra cosa? ¿Qué ocurre si queremos regresar un archivo como texto plano? ¿Y cuando queremos regresar un archivo binario? ¿Y su necesitamos redirigir la petición a otro Action o enviar al usuario a otra página?

Los casos anteriores también son muy comunes cuando desarrollamos una aplicación web.

Struts 2 ofrece una gran variedad de tipos de Results para manejar estas y otras situaciones y que aprenderemos cómo usar en este tutorial.

lunes, 19 de diciembre de 2011

Struts 2 - Parte 4: Scopes de Objetos Web

Cuando estamos desarrollando una aplicación web debemos almacenar información que será procesada de distinta manera. Dependiendo de cuál sea el propósito de esta información querremos que tenga un tiempo de vida más corto o más largo, alguna información deberá permanecer disponible durante todo el momento que viva nuestra aplicación, mientras que otra solo nos interesará que viva durante una petición. Además habrá información que pertenecerá a cada usuario que acceda a la aplicación y que deberá estar disponible sólo para el usuario correspondiente.

Estos tiempos de vida son llamados scopes, y en las aplicaciones web tenemos un cierto número de ellos. Es importante conocer estos scopes y ver qué tipo de información es conveniente colocar en cada uno de ellos. A la información que colocamos en los distintos scopes les llamamos atributos.

También algunas veces es necesario tener un acceso directamente a los objetos del API de Servlets, como el "HttpServletRequest", o el "ServletContext", o a los parámetros de la petición,

Struts 2 nos proporciona una forma simple y elegante, además de diversa, para manejar todas estas cosas y en este tutorial aprenderemos estas maneras ^_^.

sábado, 5 de noviembre de 2011

Sun Certified Java Programmer 6, CX-310-065 - Parte 2: Orientación a Objetos

En este segundo post para la certificación de Java 6 hablaremos sobre conceptos de la orientación a objetos, que abarca temas como la herencia, el polimorfismo, la cohesión, bajo acoplamiento (loose coupling), etc.

sábado, 22 de octubre de 2011

Struts 2 - Parte 3: Trabajo con Formularios

En el desarrollo de aplicaciones web, una de las partes más importantes que existen (sino es que la más importante) es el manejo de datos que son recibidos del usuario a través de los formularios de nuestra aplicación.

Aunque es algo que usamos (y hacemos) todos los días, el manejo de los datos de los formularios puede ser un poco engañoso, por no decir complicado, cuando comenzamos a trabajar con la recepción de múltiples valores para un mismo parámetro, o cuando de antemano no conocemos los nombres de los parámetros que recibiéremos; esto sin mencionar las validaciones para los distintos tipos de datos, la carga y descarga de archivos, etc.

En este tutorial aprenderemos la forma en la que se trabaja con formularios en Struts 2, y cómo manejar todas las situaciones mencionadas anteriormente. Concretamente aprenderemos cómo hacer 7 cosas: recepción de parámetros simples, cómo hacer que el framework llene de forma automática los atributos de un objeto si es que todos los datos del formulario pertenecen a ese objeto, a recibir múltiples valores para un mismo parámetro, cómo recibir parámetros cuando no conocemos el nombre de los mismos, a realizar validaciones de datos de varias maneras, cómo subir archivos al servidor, y cómo enviar archivos desde el servidor hacia nuestros clientes.

martes, 21 de junio de 2011

Struts 2 - Parte 2: OGNL

OGNL es el acrónimo de Object Graph Navigation Language, un lenguaje de expresiones muy poderoso que nos permite leer valores de objetos Java. Este lenguaje nos permite leer valores y ejecutar métodos (que regresen algún valor) para mostrar los valores o resultados de los mismos en nuestras páginas JSP creadas usando las etiquetas de Struts. Además proporciona una conversión automática de tipos que permite convertir datos desde texto HTTP a objetos Java.

En este tutorial aprenderemos a usar este sencillo pero poderoso lenguaje dentro de nuestras aplicaciones, así como los objetos implícitos que tiene y cómo acceder a ellos. Además veremos cómo obtener valores de constantes, variables, y elementos enumerados, que se encuentran en nuestras clases.