VerificarRegistro.java
package com.osmosislatina.taglib; import javax.servlet.http.*; import javax.servlet.jsp.tagext.*; import javax.servlet.jsp.*; import java.util.*; import java.io.*;
|
El primer paso de esta Clase es definir la librería ("package") a la cual pertenecerá e importar todas aquellas librerías/clases que son necesarias para generar el Tag.
Posteriormente se inicia la declaración de la clase la cual hereda ("inherit") el comportamiento de la Clase Base TagSupport, esta última es la que siempre debe emplearse al crearse un JSP hecho a medida; esto permite acceso a los métodos base para Tags a medida que son:
doStartTag()
ydoEndTag()
.Antes de iniciar cualquier método se declaran los campos que serán utilizados en la clase,
paginaRegistro
que indica el lugar donde será enviada la requisición en caso de no estar registrado el usuario,paginaInicial
que indica el JSP donde será enviado el usuario en caso de ser validado, ysubscriptor
utilizado para extraer el valor de la sesión en cuestión.El método
doStartTag()
empleado para dar instrucciones que serán utilizadas al encontrarse el inicio del Tag, no ejecuta ningún tipo de lógica.El método
doEndTag()
contiene la lógica principal del Tag, el primer paso dentro de éste es generar/extraer la sesión del usuario, posteriormente, si la variablesubscriptor
extraída de la sesión tiene un valor diferente anull
esto indica que el usuario se encuentra registrado, por lo que la variablevalido
es cambiada hacia un valor de verdadero, caso contrario el valor devalido
seguirá siendo falso.Una vez llevada acabo la verificación de registro, se utiliza la siguiente condicional:
Si la variable
valido
es verdadera (el usuario esta registrado) retornar el valorEVAL_PAGE
lo cual indica que se continúe evaluando el JSP en cuestión y por ende el usuario será capaz de observar la página.Si la variable
valido
permaneció con el valor de falso , entonces se intenta redirigir al usuario a la páina de registro mediante el métodoforward
disponible tanto en JSP's como Servlets.Finalmente aunque no haya sido posible redirigirse o haya ocurrido cualquier otro error, retornar el valor
SKIP_PAGE
lo cual garantiza que toda información por debajo del Tag no sea observada.