Como todo framework, Struts consiste en una librer�a de clases y una serie de configuraciones por lo que su instalaci�n es muy similar en todos los servidores de aplicaciones que provean (o puedan agreg�rsele) soporte de:
- Java Development Kit (version 1.2 or posterior)
- Servlet Container (version 2.2 or posterior)
- JavaServer Pages (JSP) (version 1.1 o posterior)
- XML Parser compatible con Java API for XML Parsing (JAXP) specification, 1.1 o posterior
- JDBC 2.0 Optional Package Classes
La instalaci�n consiste en:
- Obtener la distribuci�n binaria desde http://jakarta.apache.org/struts/index.html#Acquiring y descomprimirla
- Copiar lib/commons-*.jar (clases comunes de Jakarta), lib/struts.jar (JAR de las clases Struts) y lib/struts-*.tld (Tag Library Descriptors de los Tags de Struts) en el directorio WEB-INF/lib de la aplicaci�n
- Modificar el WEB-INF/web.xml de la aplicaci�n para incluir un elemento "<servlet>" que define el Servlet del Controller y un "<servlet-mapping>" que establezca las peticiones que �ste atiende. Por ejemplo:
- Modificar el WEB-INF/web.xml de la aplicaci�n para incluir la definici�n de los TagLibraries. Por ejemplo:
- Agregar la definici�n de las TagLibraries en las JSPs que se utilicen. Ejemplo:
- Crear un struts-config.xml donde se configure el Controller seg�n se describi� en las secciones anteriores.
<web-app> ... <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>application</param-name> <param-value>com.empresa.aplicacion.ApplicationResources</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>2</load-on-startup> </servlet> ... <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> ... </web-app>
Nota: com.empresa.aplicacion.ApplicationResources es la localizaci�n del archivo ".properties" del idioma principal de la aplicaci�n
<web-app> ... <taglib> <taglib-uri>strutsBean</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>strutsHtml</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>strutsLogic </taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> <display-name></display-name> <description></description> ... </web-app>
<%@ taglib uri="strutsBean" prefix="bean" %> <%@ taglib uri="strutsHtml" prefix="html" %> <%@ taglib uri="strutsLogic" prefix="logic" %>
Si bien est�n comenzando a surgir aplicaciones que gestionan la configuraci�n de Struts en forma visual (Camino, StrutsConsole, etc.) es muy recomendable familiarizarse primero con la configuraci�n manual antes de utilizar estas herramientas