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
La configuración de struts.xml
También debemos modificar el archivo de configuración struts.xml. Debes agregar la siguiente linea:
<include file="sistema.xml"/>
Tu archivo debe quedar asi al final:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="false" /> <package name="default" namespace="/" extends="struts-default"> <action name="FormularioEntrada"> <result>/formularioEntrada.jsp</result> </action> <action name="Entrar" class="ejemplos.struts2.action.AccionEntrar"> <result name="input">/formularioEntrada.jsp</result> <result name="error">/formularioEntrada.jsp</result> <result>/paginaBienvenida.jsp</result> </action> </package> <include file="sistema.xml"/> </struts>
Como podrás ver ahora hacemos referencia a otro archivo de configuración de Struts2 en donde están las peticiones que se hacen solo por usuarios que están identificados por nuestra aplicación como válidos. El archivo sistema.xml deberá ser algo como esto:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="sistema" namespace="/" extends="struts-default"> <interceptors> <interceptor name="iterceptorAtuenticacion" class="ejemplos.struts2.inter.InterAutenticacion" /> <interceptor-stack name="secureStack"> <interceptor-ref name="iterceptorAtuenticacion" /> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="secureStack" /> <global-results> <result name="login" type="redirect">/FormularioEntrada.action</result> </global-results> <action name="DesplegarLista" class="ejemplos.struts2.action.AccionDesplegarLista"> <result name="error">/formularioEntrada.jsp</result> <result>/desplegarLista.jsp</result> </action> </package> </struts>
Hay algunas cosas nuevas en este archivo de configuración. Ahora estamos creando un “paquete” de declaración para nuestros Actions.
<package name="sistema" namespace="/" extends="struts-default">
También estamos haciendo la declaración de nuestro interceptor InterAutenticacion, el cual aún no hemos creado.
<interceptors> <interceptor name="iterceptorAtuenticacion" class="ejemplos.struts2.inter.InterAutenticacion" /> <interceptor-stack name="secureStack"> <interceptor-ref name="iterceptorAtuenticacion" /> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors>
Otra cosa importante que hacemos es declarar una pila de interceptores nueva, que agrega nuestro nuevo interceptor a la lista de interceptores que existen por default en el marco de trabajo. Este paso es importante.
<default-interceptor-ref name="secureStack" />
También hemos agregado un redireccionamiento global para los casos en que no axista una sesión válida y que devuelve al usuario al formulario de entrada:
<global-results> <result name="login" type="redirect">/FormularioEntrada.action</result> </global-results>
Y por último, la declaración de nuestra acción DesplegarLista
<action name="DesplegarLista" class="ejemplos.struts2.action.AccionDesplegarLista"> <result name="error">/formularioEntrada.jsp</result> <result>/desplegarLista.jsp</result> </action>
Bien, hemos terminado con la configuración del archivo nuevo sistema.xml. Pero ahora debemos crear la clase que se encargará de desplegar la lista y del interceptor que nos permitirá discriminar las peticiones válidas de las que no lo son.
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