2.1.- Primeros Pasos
2.2.- La configuración de struts.xml
2.3.- La clase Action que desplegará la lista
2.4.- El Interceptor y la sesión
En este ejemplo, el segundo de Struts2, veremos como restringir el acceso a páginas privadas mediante el uso de la sesión y de los interceptores, también mostraremos como desplegar una lista de resultados utilizando las etiquetas de Struts2.
Antes de comenzar es necesario tener a la mano el código del ejemplo anterior pues lo usaremos como base, puedes verlo dando click acá:
Haremos algunos cambios en el código, pero es necesario que notes algunas cosas que el primer ejemplo adelantaba sobre el manejo de la sesión.
Como podrás ver la clase AccionEntrar.java esta extendiendo de ActionSupport y también se implementan los métodos de la interfaz SessionAware, esta última es la que nos permitirá hacer uso de la sesión dentro del marco de trabajo.
public class AccionEntrar extends ActionSupport implements SessionAware{ private Map session; private String mensajeError; private String usr; private String pas; …
Al implementar SessionAware se definen los métodos:
public Map getSession() { return session; }
public void setSession(Map session) {
this.session = session;
}
y desde luego declaramos la variable session, que es de la clase Map.
En nuestra clase AccionEntrar verificamos los datos del usuario. De ser válidos daremos acceso a la página de bienvenida, si son incorrectos redirigimos a la página de entrada nuevamente. Todo este flujo también esta definido en nuestro archivo de configuración struts.xml.
Pero que pasa si ahora queremos que en nuestra aplicación se despliegue una lista de datos privados que solo pueda verse después de una autenticación válida, mostraremos como hacer eso. Comencemos por agregar una liga para desplegar una lista de usuarios en nuestra página de bienvenida.
Después de la etiqueta de bienvenida agrega esta línea:
<s:a href="DesplegarLista.action">Desplegar lista de productos</s:a>
El código de tu jsp deberá quedar así:
<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Pagina de Bienvenida</title> </head> <body> <h1>Bienvenido, has entrado al sistema!</h1> <s:a href="DesplegarLista.action">Desplegar lista de usuarios</s:a> </body> </html>
para descargar paginaBienvenida.jsp
No olvides poner la declaración de etiquetas de Struts2 cuando sea necesario.
<%@ taglib prefix="s" uri="/struts-tags" %>
2.1.- Primeros Pasos
2.2.- La configuración de struts.xml
2.3.- La clase Action que desplegará la lista
2.4.- El Interceptor y la sesión