12 de Diciembre de 2005 (admin) Se van a comentar los pasos a seguir para instalar y configurar en WebSphere 4 el Framework Struts, para la posterior programación y desarrollo de aplicaciones con el framework, necesitarás conocimientos específicos. 1 – Reutilización de código 1.1 . Copia de TLDs Estas TLDs contienen la descripción de la librería de etiquetas que necesitamos para las validaciones con Struts. (Podremos bajarnos los archivos del proyecto Jakarta ) 1.2 – Copiamos el paquete de struts 1.3 – Seguidamente deberemos de asegurarnos que el paquete struts.jar esté vinculado con nuestro proyecto, para lo cual pinchamos con el botón derecho sobre nuestro proyecto y seleccionamos propiedades (properties). Nos vamos a Java Build Path y en libraries añadimos el paquete, si es que no estaba (deberemos ir hasta la ruta donde lo tenemos). Veamos la pantalla. 1.4 – Archivo properties Este archivo contiene los mensajes de error cuando se intenta validar un actionForm, que tenga valores inválidos. Se puede copiar uno que ya tengamos y dejar sólo lo básico o crearlo como archivo de texto, la ubicación es: El archivo básico contendrá algo como lo siguiente: errors.header=<p class="errors"> reason(s):<ul class="errors"> errors.footer=</ul></p> error.telefono=<li>Numero de telefono incorrecto. error.email=<li>Dirección de correo incorrecta. error.requerido=<li>El siguiente campo es obligatorio: {0} 2.1 - Vincular los TLDs anteriores a nuestro proyecto. Para ello editamos el fichero web.xml. Podemos hacer la edición por medio de la pestaña Referencias (Referentes), que vemos más abajo. Para otros entornos la edición en el web.xml, será la introducción de las siguientes líneas (negrita). <web-app> ... ... <taglib> <taglib-uri>/WEB-INF/tlds/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/tlds/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/tlds/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/tlds/struts-template.tld</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-template.tld</taglib-location> </taglib> </web-app> 2.2 – Vincular las urls .do con un action servlet que será el encargado de mapearlas y redirigir al jsp correspondiente. Nota: Es necesario haber realizado el paso 1.2 y 2.2 para poder añadir el ActionServlet 2.3 – Activar el actionServlet al inicio 2.4 – Vinculamos el Aplication.properties al proyecto y resto configuraciones básicas Tenemos que configurar la pantalla anterior con los siguientes datos: 2.5 – El resultado en el fichero web.xml de los apartados 2.1 y 2.2 es el siguiente: <!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN” “http://java.sun.com/j2ee/dtds/web-app_2_2.dtd”> <web-app id=”WebApp”> …........... <servlet> <servlet-name>ActionServlet</servlet-name> <display-name>ActionServlet</display-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>application</param-name> <param-value>WEB-INF/Application</param-value> </init-param> <init-param> <param-name>config</param-name> <param-value>WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>validate</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> …........... <servlet-mapping> <servlet-name>ActionServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <servlet> <servlet-name>ActionServlet</servlet-name> <display-name>ActionServlet</display-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> …........... <taglib> <taglib-uri>WEB-INF/tlds/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>WEB-INF/tlds/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-template.tld</taglib-location> </taglib> </web-app> |
3 . Creamos el archivo struts-config.xml 3.1 – Este archivo guarda lo mapeos con el form.bean y el action-bean que tratan la entrada de una página jsp, que estará mapeada. El form-Bean recupera básicamente los datos y el action-Bean efectua la lógica de negocio. En caso de que falle Lo más fácil es copiar alguno ya existente de otro proyecto y quitar lo que nos sobre. La ubicación es: El archivo básico contendrá: <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd"> <!-- This is the Struts configuration file for the mvc-sample application, using the proposed new syntax. NOTE: You would only flesh out the details in the "form-bean" declarations if you had a generator tool that used them to create the corresponding Java classes for you. Otherwise, you would need only the "form-bean" element itself, with the corresponding "name" and "type" attributes. --> <struts-config> <!-- ========== Form Bean Definitions =============================== --> <form-beans> <!-- join form bean --> <!-- Beans asociados con el Formulario--> <form-bean name="StrutsMINOMBREBean" type="com.ti....MiUbicacion....StrutsMINOMBREForm" /> </form-beans> <!-- ========== Global Forward Definitions ========================== --> <global-forwards> <forward name="menu" path="/menu_inscritos.jsp"/> </global-forwards> <!-- ========== Action Mapping Definitions =========================== --> <action-mappings> <!-- The standard administrative actions available with Struts --> <!-- These would be either omitted or protected by security --> <!-- in a real application deployment --> <!-- Mapeos asociados con el alta de un usuario nuevo --> <action path="/UploadFotoPath" name="UploadFotoFormBean" type="com.ti.rid.web.instalacionDeportiva.Struts.UploadFotoAction" input="/admin/InstalacionesDeportivas/forms/uploadFoto.jsp" scope="request" validate="true"> <forward name="alta_ok" path="/admin/InstalacionesDeportivas/forms/uploadFoto.jsp"/> <forward name="alta_fallo" path="/mipaginaError.jsp"/> </action> <!-- Estos hay que dejarlos --> <action path="/admin/addFormBean" type="org.apache.struts.actions.AddFormBeanAction"/> <action path="/admin/addForward" type="org.apache.struts.actions.AddForwardAction"/> <action path="/admin/addMapping" type="org.apache.struts.actions.AddMappingAction"/> <action path="/admin/reload" type="org.apache.struts.actions.ReloadAction"/> <action path="/admin/removeFormBean" type="org.apache.struts.actions.RemoveFormBeanAction"/> <action path="/admin/removeForward" type="org.apache.struts.actions.RemoveForwardAction"/> <action path="/admin/removeMapping" type="org.apache.struts.actions.RemoveMappingAction"/> </action-mappings> </struts-config> |