¿Qué importa que algún capitán me ordene coger la escoba y barrer la cubierta?¿Quién no es un esclavo? Decídmelo.
Ismael, en Moby Dick

[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 :)

Technorati Tags: ,

 

3 Comentarios hasta el momento »

  1. :s dijo

    29 de September del 2008 a las 10:35 pm

    Malaxo el tutorial :s

  2. Oscar dijo

    15 de January del 2010 a las 1:37 pm

    A parte del problema que tu dices, para visualizar un msg siempre tienes que indicar el “bundle” lo cual al final acabaría siendo un engorro y su mantenimiento más bien lioso.

    Lo único interesante que se me ocurre sería usar múltiples struts-config. Cada uno con sus correspondientes acciones, formularios y fichero de mensajes organizados por las diversas funcionalidades/módulos de la aplicación.

    Esto no sería nada extraño ya que los mensajes y acciones del módulo de “Usuarios” no tienen por qué tener nada que ver con las acciones y mensajes del módulo de “Compras” por ejemplo.

    Así se conseguiría usar los mensajes de un modo transparente al “bundle” y daría la ilusión de recombinación que tú dices.

    Saludos.

  3. YeSSa dijo

    17 de April del 2010 a las 7:07 pm

    Ajam… y entonces cual es la solucion a la ultima interrogante???

Comentarios RSS · TrackBack URI

Dejanos tu Comentario

Nombre: (Requerido)

E-Mail: (Requerido)

Sitio WEB:

Comentario:

Comenta