Por admin | Para la categoría de struts | noticia del 24-07-2009
Vamos a descargarnos el proyecto struts de la página web oficial
http://struts.apache.org/download.cgi
escogemos la versión 1.3.10
La ubicamos en nuestro sistema de archivos independientemente del sistema operativo que utilicemos y descomprimimos el fichero zip

Dentro del la carpeta del proyecto de struts hay un fichero .war que contiene la estructura de una aplicación en blanco. Se utiliza para no tener que ir incorporando jar al proyecto ni tlds para las etiquetas struts.
la ruta es carpeta struts proyecto que para la versión que hemos descargado es path vuestro\struts-1.3.10\apps\struts-blank-1.3.10.war

Lo único que tenemos que hacer es abrir nuestro eclipse e importar dicho proyecto en blanco y darle un nombre nuevo para poder empezar.
File, import war y seleccionar la ruta donde esta nuestro fichero blank.war para la version 1.3.10

le damos a next y nos aparece otro nuevo cuadro de diálogo donde le damos nombre al proyecto y le decimos donde esta el fichero blank.war

pulsamos sobre el botón “finish” y en la pestaña explorador del proyecto vemos la estructura de directorios del nuevo proyecto en blanco “holamundo”
Al igual que en los proyectos de jee para ejecutar el proyecto vamos a “run as run on server escogemos tomcat” “y sale la pantalla de bienvenida del proyecto struts

Vamos a modificar el proyecto para que salga un mensaje en castellano, para ello vamos a conservar las jsp que tiene el proyecto por defecto y crearemos un nuevo fichero de propiedades llamado
MesssageResources_es_ES.properties en el que vamos a incluir una claves para que salga por pantalla un mensaje de bienvenida.


En el nuevo fichero de properties
1 2 3 | welcome.title=Holamundo Struts welcome.heading=Bienvenida! welcome.message=Holamundo Struts |
Y dentro del fichero de configuración struts-config.xml ponemos lo siguiente
1 2 3 4 | <!-- ======================================== Message Resources Definitions --> <message-resources parameter="MessageResources_es_ES" /> <message-resources parameter="MessageResources"/> |

Vamos a entender un poco esto que acabamos de hacer y así entender el funcionamiento de struts. Dentro del directorio WebCotent que es como en jee el directorio público hay una carpeta pages donde tenemos una página welcome.jsp con este contenido
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <html:html> <head> <title><bean:message key="welcome.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application"> <font color="red"> ERROR: Application resources not loaded -- check servlet container logs for error messages. </font> </logic:notPresent> <h3><bean:message key="welcome.heading"/></h3> <p><bean:message key="welcome.message"/></p> </body> </html:html> |
Vamos a centrarnos solamente en porque sale el mensaje en castellano, decir a modo de comentario que struts tiene sus propios tags html van precedidios de htm: se pueden ver varios casos como
vemos que la etiqueta bean:message tiene un atributo key con un valor welcome.title para el caso del título, lo mismo va a suceder con el encabezado y con mensaje. Lo que hace esta etiqueta es obtener el valor del fichero de configuración recien creado
el formato de este fichero de de propiedades es clave=valor
Si nos fijamos en navegador y vemos la url del proyecto arrancado en local, observamos que termina en Welcome.do, nos esta indicando que struts está realizando la acción Welcome.
1 2 3 4 5 6 7 8 9 | <!-- =========================================== Global Forward Definitions --> <global-forwards> <!-- Default forward to "Welcome" action --> <!-- Demonstrates using index.jsp to forward --> <forward name="welcome" path="/Welcome.do"/> </global-forwards> |
Que se mapea en la seccion de acction metiante
1 2 3 4 5 6 7 8 | <!-- =========================================== Action Mapping Definitions --> <action-mappings> <!-- Default "Welcome" action --> <!-- Forwards to Welcome.jsp --> <action path="/Welcome" forward="/pages/Welcome.jsp"/> |
La accion Welcome.do esta mapeada en la seccion action mapping mediante el nombre de path igual que la accion pero sin do path=”/Welcome” y se reenvía la la página jsp que viene con el proyecto struts “/pages/Welcome.jp” dentro del directoria público WebContent

Muy buen sitio, gracias por el conocimiento que compartes. Estoy haciendo un proyecto con Struts y me ha ayudado la parte de DispatchAction.
Saludos
Unos sitios de webs complementarias
Orm hibernate que pueden ayudar a facilitar el tratamiento de la capa de negocio de struts
Gobierno de Cantabria
Muchas gracias por todo lo aportado. Facilitas en gran medida la comprensión de Struts. De nuevo muchas gracias y Felicidades por este gran sitio!!!!!