[Struts] – Múltiples ficheros Message Resources
Sabemos de las bondades de la modularización: facilitar el trabajo en equipo y la reutilización de las partes para otros proyectos. Ya hemos visto que es posible fragmentar (dividirlos en módulos) otros ficheros que utilizamos en las aplicaciones web que se tornan también monstruosos, Fragmentar Ficheros de Configuración de Frameworks. Y también es posible fragmentar los archivos que contienen los mensajes de nuestra aplicación.
Para ello debemos de declarar las partes en nuestro struts-config.xml:
<message-resources
parameter=“es/lycka/pruebas/propiedades/MessageResources”/>
<message-resources
parameter=“es.lyck.pruebas.propiedades.ErroresResources”
key=“errores”>
</message-resources>
<message-resources
parameter=“es.lyck.pruebas.propiedades.TitulosResources”
key=“titulos”>
</message-resources>
No existe limitación en el número de recursos a utilizar, pero estos recursos NO se recombinan en un único recurso: simplemente se organizan en grupos o categorías de mensajes definidos por la propiedad key de las anteriores declaraciones. Típicamente se organizan estas categorías o bien por tipo de mensajes (errores, cabeceras, nombres de campo, mensajes de información…) o bien por áreas de trabajo para facilitar el trabajo en equipo (login, clientes, productos, compras, ventas…).
La manera de invocarlos dentro de nuestras JSPs sería:
<bean:message bundle=“labels” key=“label.url”/>
Si la aplicación web está dividida en módulos ([Struts] – Aplicaciones modulares), cada módulo utiliza sus propios ficheros de mensajes, con lo cual en dos módulos diferentes pueden existir dos mensajes con las mismas claves (internamente se identifican por el nombre del módulo a modo de prefijo y la clave del mensaje).
Como decía arriba, los distintos ficheros de mensajes NO se recombinan en un único recurso; por tanto, no podemos tener un fichero de mensajes comunes a una organización, y otro particular para cada aplicación que se recombinen en uno único. Se os ocurre alguna solución para esto ? que no sea el copia y pega del fichero común en cada fichero particular, y no implique reescribir Struts

