Error en Struts: javax.servlet.jsp.JspException: Cannot find message resources under key

23 views
Skip to first unread message

jgmaux

unread,
Dec 18, 2006, 6:37:59 PM12/18/06
to java1, java2, java3, java4
Hola,

Tengo el siguiente error rm Struts:

javax.servlet.jsp.JspException: Cannot find message resources under key
MyMessages
at
org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1100)
at org.apache.struts.taglib.TagUtils.message(TagUtils.java:944)
at
org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:221)
at
org.apache.jsp.WEB_002dINF.jsp.cv_005finicio_005feuro_jsp._jspx_meth_bean_message_0(cv_005finicio_005feuro_jsp.java:153)
at
org.apache.jsp.WEB_002dINF.jsp.cv_005finicio_005feuro_jsp._jspx_meth_

En el strusts-config.xml tengo la definición creo que correcta:

<message-resources parameter="myproject.MyMessages" null="false"/>

Y bajo /WEB-INF/classes/ tengo los properties correspondientes:

MyMessages.properties
MyMessages_es_ES.properties
MyMessages_ca_ES.properties

¿Qué puede estar fallando?

Gracias y un saludo.


Pablo Saavedra

unread,
Dec 19, 2006, 9:15:08 AM12/19/06
to jav...@googlegroups.com
Hola, me parece que lo tendrías que tener en

/WEB-INF/classes/myproject/

si mal no recuerdo el myproject adelante le dice la ruta a seguir.

Espero que te sirva.
Saludos.

On 18/12/06, jgmaux <jgm...@telefonica.net> wrote:

Hola,

Tengo el siguiente error rm Struts:

javax.servlet.jsp.JspException: Cannot find message resources under key
MyMessages
        at
org.apache.struts.taglib.TagUtils.retrieveMessageResources (TagUtils.java:1100)

        at org.apache.struts.taglib.TagUtils.message(TagUtils.java:944)
        at
org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:221)
        at
org.apache.jsp.WEB_002dINF.jsp.cv_005finicio_005feuro_jsp._jspx_meth_bean_message_0 (cv_005finicio_005feuro_jsp.java:153)

jgmaux

unread,
Dec 19, 2006, 9:34:35 AM12/19/06
to jav...@googlegroups.com
Hola Pablo,

Sí, me equivoqué al redactar el mail, si que tengo los properties bajo el mismo paquete :

/WEB-INF/classes/myproject/

¿entonces donde puede estár el error?
Me estoy volviendo loco, me han pasado una aplicación de struts que no funciona y no se como levantarla..

Gracias.

Pablo Saavedra

unread,
Dec 19, 2006, 10:17:27 AM12/19/06
to jav...@googlegroups.com
Pareciera estar bien.... capaz que los nombres de los archivos están mal? Probaste que pasa usando MyMessages_es.properties?

Saludos.

jgmaux

unread,
Dec 19, 2006, 11:02:18 AM12/19/06
to jav...@googlegroups.com
Hola,

Acabo de probarlo y sigue dando el mismo error.

He duplicado el fichero varias veces por si acaso

MyMessages.properties
MyMessages_es.properties
MyMessages_ES.properties
MyMessages_es_ES.properties
MyMessages_ca_ES.properties

jgmaux

unread,
Dec 19, 2006, 1:32:57 PM12/19/06
to jav...@googlegroups.com

Parece ser que se buscando los properties en:

2006-12-19 19:21:25,617 [http-8080-Processor25] WARN  org.apache.struts.util.PropertyMessageResources -   Resource org/apache/struts/taglib/LocalStrings_es_ES.properties Not Found.
2006-12-19 19:21:25,617 [http-8080-Processor25] WARN  org.apache.struts.util.PropertyMessageResources -   Resource org/apache/struts/taglib/LocalStrings_es.properties Not Found.

¿Por qué?!!!!!!!!!!

Pablo Saavedra

unread,
Dec 19, 2006, 2:25:39 PM12/19/06
to jav...@googlegroups.com
Podemos ver tu struts-config.xml?

jgmaux

unread,
Dec 19, 2006, 2:38:32 PM12/19/06
to jav...@googlegroups.com
Sí, os adjunto el struts-config.xml. Pero en los mensajes anteriores para facilitar la comprensión os indiqué

<message-resources parameter=" myproject.MyMessages" null="false"/>

en lugar del real:

<message-resources parameter="cvgenerator.CVGenerator" null="false"/>

Y los nombres de los properties reales son : CVGenerator.properties, CVGenerator_es_ES.properties y CVGenerator_ca_ES.properties
y están bajo /WEB-INF/classes/cvgenerator/

y desde el jsp indico:

<bean:message key="cv.titulo" bundle="CVGenerator"/>

Y este es el struts-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<!-- dtd descargado a local -->
<struts-config>
   
    <!-- ========== Form Bean Definitions ================================== -->
    <form-beans>
        <!-- Bean del formulario: cv_inicio -->
        <form-bean name="cvLocalIniciarForm"  type="org.apache.struts.action.ActionForm"/>
        <!-- Bean del formulario: cv_inicio_euro -->
        <form-bean name="cvEuroIniciarForm"   type="org.apache.struts.action.ActionForm"/>
        <!-- Bean del formulario: cv_inicio_nota -->
        <form-bean name="cvLocalAvisoForm"    type="org.apache.struts.action.ActionForm"/>
        <!-- Bean del formulario: cv_inicio_euro_nota.jsp -->
        <form-bean name="cvEuroAvisoForm"     type="org.apache.struts.action.ActionForm"/>
        <!-- Bean del formulario: cv_local_1 -->
        <form-bean name="cvLocalFicha01Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_euro_1 -->
        <form-bean name="cvEuroFicha01Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_local_2 -->
        <form-bean name="cvLocalFicha02Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_euro_2 -->
        <form-bean name="cvEuroFicha02Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_local_3 -->
        <form-bean name="cvLocalFicha03Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_euro_3 -->
        <form-bean name="cvEuroFicha03Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_local_4 -->
        <form-bean name="cvLocalFicha04Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_euro_4 -->
        <form-bean name="cvEuroFicha04Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_local_5 -->
        <form-bean name="cvLocalFicha05Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_euro_5 -->
        <form-bean name="cvEuroFicha05Form"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_fin -->
        <form-bean name="cvLocalEmailYDescargarForm"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_fin_euro -->
        <form-bean name="cvEuroEmailYDescargarForm"   type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_descargar -->
        <form-bean name="cvNotaDescargarForm" type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
        <!-- Bean del formulario: cv_enviar -->
        <form-bean name="cvNotaEmailForm"     type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="nombres"     type="java.lang.String" />
            <form-property name="lang"        type="java.lang.String" />
        </form-bean>
    </form-beans>

    <!-- ========= Global Exception Definitions ============================ -->
    <global-exceptions>
    </global-exceptions>

    <!-- ========== Global Forward Definitions ============================= -->
    <global-forwards>
        <!--
        NOTA: el acceso a las fichas está restringido al paso obligatorio por el inicio y la nota de aviso (cvLocalAvisoForm,cvEuroAvisoForm)
        -->
        <forward name="MenuTest"        path="/cv.jsp"            redirect="true"/>
        <forward name="InicioEuroCa"    path="/ca/europass/cv.do" redirect="true"/>
        <forward name="InicioEuroEs"    path="/es/europass/cv.do" redirect="true"/>
        <forward name="InicioLocalCa"   path="/ca/local/cv.do"    redirect="true"/>
        <forward name="InicioLocalEs"   path="/es/local/cv.do"    redirect="true"/>
        <forward name="EnvioMail"       path="/mail.do"           redirect="true"/>
        <forward name="DEBUG001"        path="/kk.do"             redirect="true"/>
        <!-- * excepciones * -->
        <forward name="Error" 
        path="/WEB-INF/jsp/error_operacion.jsp" redirect="false"/>
    </global-forwards>

    <!-- ========== Action Mapping Definitions ============================= -->
    <action-mappings>
   
      <!--
      NOTA: el acceso a las fichas está restringido al paso obligatorio por el inicio y la nota de aviso (cvLocalAvisoForm,cvEuroAvisoForm)
      -->
     
      <!-- Especial: solicitudes desconocidas -->
      <action path="/error404" forward="/WEB-INF/jsp/error404.jsp" unknown="true"></action>
     
      <!-- Especial: pantalla de login -->
        <!-- (no procede) -->
       
      <action
        name="DEBUG001"
        path="/kk"
        type="cvgenerator.CVSeleccionarAction"
        scope="request"
        validate="false"
        >
      </action>
      <!-- Seleccion de la rama de navegacion (tipo de formulario e idioma) -->
      <action
        name="InicioEuroCa"
        path="/ca/europass/cv"
        type="cvgenerator.CVSeleccionarAction"
        scope="request"
        validate="false"
        >
          <forward name="euro"  path="/WEB-INF/jsp/cv_inicio_euro.jsp"/>
          <forward name="local" path="/WEB-INF/jsp/cv_inicio_euro.jsp"/>
     
      </action>
      <action
        name="InicioEuroEs"
        path="/es/europass/cv"
        type="cvgenerator.CVSeleccionarAction"
        scope="request"
        validate="false"
        >
          <forward name="euro"  path="/WEB-INF/jsp/cv_inicio_euro.jsp"/>
          <forward name="local" path="/WEB-INF/jsp/cv_inicio_euro.jsp"/>
     
      </action>
      <action
        name="InicioLocalCa"
        path="/ca/local/cv"
        type="cvgenerator.CVSeleccionarAction"
        scope="request"
        validate="false"
        >
          <forward name="euro"  path="/WEB-INF/jsp/cv_inicio_euro.jsp"/>
          <forward name="local" path="/WEB-INF/jsp/cv_inicio_euro.jsp"/>
     
      </action>
      <action
        name="InicioLocalEs"
        path="/es/local/cv"
        type="cvgenerator.CVSeleccionarAction"
        scope="request"
        validate="false"
        >
          <forward name="euro"  path="/WEB-INF/jsp/cv_inicio_euro.jsp"/>
          <forward name="local" path="/WEB-INF/jsp/cv_inicio_euro.jsp"/>
     
      </action>
      <!-- Acciones de los formularios del CV -->
      <!--
        Notas: todas via reenvio (redirect="false")
      -->
      <!--
        Notas Action/DynaAction
        name  : el form-bean asociado
        input : origen y también redireccion caso error validacion
        path  : omitir el .do en la URI asociada
      -->
     
      <!--
        Acceso a las ramas de navegacion (tipo de CV y lenguaje):
        - Por la pantalla de demo ("/" o "/cv.jsp")
        - Directamente con las peticiones "/lenguaje/tipo/cv.do" (lenguaje="es"|"ca" y tipo="local"|"euro")
        -->
       
      <action
       name="cvLocalIniciarForm"
       path="/cv_inicio"
       input="/WEB-INF/jsp/cv_inicio.jsp"
       type="cvgenerator.CVLocalIniciarAction"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_inicio.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_inicio_nota.jsp"/>
     
      </action>
     
      <action
       name="cvEuroIniciarForm"
       path="/cv_inicio_euro"
       input="/WEB-INF/jsp/cv_inicio_euro.jsp"
       type="cvgenerator.CVEuroIniciarAction"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_inicio_euro.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_inicio_euro_nota.jsp"/>
     
      </action>
     
      <action
       name="cvLocalAvisoForm"
       path="/cv_inicio_nota"
       input="/WEB-INF/jsp/cv_inicio_nota.jsp"
       type="cvgenerator.CVLocalAvisoAction"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_inicio_nota.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_local_1.jsp"/>
     
      </action>
     
      <action
       name="cvEuroAvisoForm"
       path="/cv_inicio_euro_nota"
       input="/WEB-INF/jsp/cv_inicio_euro_nota.jsp"
       type="cvgenerator.CVEuroAvisoAction"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_inicio_euro_nota.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_euro_1.jsp"/>
     
      </action>
     
      <action
       name="cvLocalFicha01Form"
       path="/cv_local_1"
       input="/WEB-INF/jsp/cv_local_1.jsp"
       type="cvgenerator.CVLocalFicha01Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_local_1.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_local_2.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_local_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_local_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_local_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_local_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_local_5.jsp"/>
     
      </action>
     
      <action
       name="cvEuroFicha01Form"
       path="/cv_euro_1"
       input="/WEB-INF/jsp/cv_euro_1.jsp"
       type="cvgenerator.CVEuroFicha01Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_euro_1.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_euro_2.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_euro_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_euro_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_euro_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_euro_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_euro_5.jsp"/>
     
      </action>
     
      <action
       name="cvLocalFicha02Form"
       path="/cv_local_2"
       input="/WEB-INF/jsp/cv_local_2.jsp"
       type="cvgenerator.CVLocalFicha02Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_local_2.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_local_3.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_local_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_local_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_local_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_local_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_local_5.jsp"/>
     
      </action>
     
      <action
       name="cvEuroFicha02Form"
       path="/cv_euro_2"
       input="/WEB-INF/jsp/cv_euro_2.jsp"
       type="cvgenerator.CVEuroFicha02Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_euro_2.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_euro_3.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_euro_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_euro_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_euro_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_euro_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_euro_5.jsp"/>
     
      </action>
     
      <action
       name="cvLocalFicha03Form"
       path="/cv_local_3"
       input="/WEB-INF/jsp/cv_local_3.jsp"
       type="cvgenerator.CVLocalFicha03Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_local_3.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_local_4.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_local_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_local_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_local_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_local_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_local_5.jsp"/>
     
      </action>
     
      <action
       name="cvEuroFicha03Form"
       path="/cv_euro_3"
       input="/WEB-INF/jsp/cv_euro_3.jsp"
       type="cvgenerator.CVEuroFicha03Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_euro_3.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_euro_4.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_euro_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_euro_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_euro_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_euro_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_euro_5.jsp"/>
     
      </action>
     
      <action
       name="cvLocalFicha04Form"
       path="/cv_local_4"
       input="/WEB-INF/jsp/cv_local_4.jsp"
       type="cvgenerator.CVLocalFicha04Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_local_4.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_local_5.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_local_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_local_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_local_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_local_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_local_5.jsp"/>
     
      </action>
     
      <action
       name="cvEuroFicha04Form"
       path="/cv_euro_4"
       input="/WEB-INF/jsp/cv_euro_4.jsp"
       type="cvgenerator.CVEuroFicha04Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_euro_4.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_euro_5.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_euro_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_euro_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_euro_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_euro_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_euro_5.jsp"/>
     
      </action>
     
      <action
       name="cvLocalFicha05Form"
       path="/cv_local_5"
       input="/WEB-INF/jsp/cv_local_5.jsp"
       type="cvgenerator.CVLocalFicha05Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_local_5.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_fin.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_local_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_local_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_local_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_local_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_local_5.jsp"/>
     
      </action>
     
      <action
       name="cvEuroFicha05Form"
       path="/cv_euro_5"
       input="/WEB-INF/jsp/cv_euro_5.jsp"
       type="cvgenerator.CVEuroFicha05Action"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_euro_5.jsp"/>
          <forward name="siguiente" path="/WEB-INF/jsp/cv_fin_euro.jsp"/>
          <!-- Navegacion libre entre pestañas -->
          <forward name="hoja1"     path="/WEB-INF/jsp/cv_euro_1.jsp"/>
          <forward name="hoja2"     path="/WEB-INF/jsp/cv_euro_2.jsp"/>
          <forward name="hoja3"     path="/WEB-INF/jsp/cv_euro_3.jsp"/>
          <forward name="hoja4"     path="/WEB-INF/jsp/cv_euro_4.jsp"/>
          <forward name="hoja5"     path="/WEB-INF/jsp/cv_euro_5.jsp"/>
     
      </action>
     
      <action
       name="cvLocalEmailYDescargarForm"
       path="/cv_fin"
       input="/WEB-INF/jsp/cv_fin.jsp"
       type="cvgenerator.CVLocalEmailYDescargarAction"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_fin.jsp"/>
          <forward name="descargar" path="/WEB-INF/jsp/cv_descargar.jsp"/>
          <forward name="demo"      path="/WEB-INF/jsp/cv_en_html.jsp"/><!-- DEBUG: Muestra el CV pero en HTML, para depuracion/demo, bloquear en produccion -->
          <forward name="enviar"    path="/WEB-INF/jsp/cv_enviar.jsp"/>
     
      </action>
     
      <action
       name="cvEuroEmailYDescargarForm"
       path="/cv_fin_euro"
       input="/WEB-INF/jsp/cv_fin_euro.jsp"
       type="cvgenerator.CVEuroEmailYDescargarAction"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_fin_euro.jsp"/>
          <forward name="descargar" path="/WEB-INF/jsp/cv_descargar.jsp"/>
          <forward name="demo"      path="/WEB-INF/jsp/cv_en_html.jsp"/><!-- DEBUG: Muestra el CV pero en HTML, para depuracion/demo, bloquear en produccion -->
          <forward name="enviar"    path="/WEB-INF/jsp/cv_enviar.jsp"/>
     
      </action>
     
      <action
       name="cvNotaDescargarForm"
       path="/cv_descargar"
       input="/WEB-INF/jsp/cv_descargar.jsp"
       type="cvgenerator.CVNotaDescargarAction"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_descargar.jsp"/>
          <forward name="siguiente" path="/CV.rtf"/>
     
      </action>
     
      <action
       name="cvNotaEmailForm"
       path="/cv_enviar"
       input="/WEB-INF/jsp/cv_enviar.jsp"
       type="cvgenerator.CVNotaEmailAction"
       scope="request"
       validate="true"
       >
          <forward name="mas"       path="/WEB-INF/jsp/cv_enviar.jsp"/>
          <forward name="siguiente" path="/mail.do"/>
     
      </action>

    </action-mappings>

    <!-- ========== Message Resources Definitions =========================== -->
 
    <message-resources parameter="cvgenerator.CVGenerator" null="false"/>


</struts-config>

Pablo Saavedra

unread,
Dec 19, 2006, 3:05:47 PM12/19/06
to jav...@googlegroups.com
Probaste no usando 'bundle="CVGenerator"' en el bean:message? O sea, solo

<bean:message key="cv.titulo" />

jgmaux

unread,
Dec 19, 2006, 5:11:12 PM12/19/06
to jav...@googlegroups.com
Hola Pablo,

Muchas gracias. Ya me funciona perfectamente, Pero ¿por qué ha habido que quitarle el ' bundle="CVGenerator" '?

Saludos.

Alfredo UY

unread,
Dec 20, 2006, 5:58:15 AM12/20/06
to JavaSOS
No esta encontrado el MyMessages.
Supongamos que tienes los archivos *.properties en el directorio
/WEB-INF/classes/myproyect
En struts-config.xml debes de colocar así
<message-resources parameter="myproyect.MyMessages"/>

Consulta lo tenes así ?

Saludos,
Alfredo Rodriguez
(pela)

Pablo Saavedra

unread,
Dec 20, 2006, 7:23:02 AM12/20/06
to jav...@googlegroups.com
Me alegro que funcionara :).

En la documentación de struts dice esto sobre el atributo bundle del tag message:

The name of the application scope bean under which the MessageResources object containing our messages is stored.
Me parece que ese nombre se setea con el atributo 'key' en message-resources, pero no estoy seguro.

Bueno, suerte con el resto.
Saludos.



On 19/12/06, jgmaux <jgm...@telefonica.net> wrote:
Hola Pablo,

Muchas gracias. Ya me funciona perfectamente, Pero �por qu� ha habido que quitarle el ' bundle="CVGenerator" '?

Saludos.


Pablo Saavedra wrote:
Probaste no usando 'bundle="CVGenerator"' en el bean:message? O sea, solo

<bean:message key="cv.titulo" />


On 19/12/06, jgmaux < jgm...@telefonica.net> wrote:
S�, os adjunto el struts-config.xml. Pero en los mensajes anteriores para facilitar la comprensi�n os indiqu�

<message-resources parameter=" myproject.MyMessages" null="false"/>

en lugar del real:

<message-resources parameter="cvgenerator.CVGenerator" null="false"/>

Y los nombres de los properties reales son : CVGenerator.properties, CVGenerator_es_ES.properties y CVGenerator_ca_ES.properties
y est�n bajo /WEB-INF/classes/cvgenerator/
������� NOTA: el acceso a las fichas est� restringido al paso obligatorio por el inicio y la nota de aviso (cvLocalAvisoForm,cvEuroAvisoForm)

������� -->
������� <forward name="MenuTest"������� path="/cv.jsp"����������� redirect="true"/>
������� <forward name="InicioEuroCa"��� path="/ca/europass/cv.do" redirect="true"/>
������� <forward name="InicioEuroEs"��� path="/es/europass/cv.do" redirect="true"/>
������� <forward name="InicioLocalCa"�� path="/ca/local/cv.do"��� redirect="true"/>
������� <forward name="InicioLocalEs"�� path="/es/local/cv.do"��� redirect="true"/>
������� <forward name="EnvioMail"������ path="/mail.do"���������� redirect="true"/>
������� <forward name="DEBUG001"������� path="/kk.do"������������ redirect="true"/>
������� <!-- * excepciones * -->
������� <forward name="Error"�
������� path="/WEB-INF/jsp/error_operacion.jsp" redirect="false"/>
��� </global-forwards>

��� <!-- ========== Action Mapping Definitions ============================= -->
��� <action-mappings>
���
����� <!--
����� NOTA: el acceso a las fichas est� restringido al paso obligatorio por el inicio y la nota de aviso (cvLocalAvisoForm,cvEuroAvisoForm)
������� input : origen y tambi�n redireccion caso error validacion
��������� <!-- Navegacion libre entre pesta�as -->

��������� <forward name="hoja1"���� path="/WEB-INF/jsp/cv_local_1.jsp"/>
��������� <forward name="hoja2"���� path="/WEB-INF/jsp/cv_local_2.jsp"/>
��������� <forward name="hoja3"���� path="/WEB-INF/jsp/cv_local_3.jsp"/>
��������� <forward name="hoja4"���� path="/WEB-INF/jsp/cv_local_4.jsp"/>
��������� <forward name="hoja5"���� path="/WEB-INF/jsp/cv_local_5.jsp"/>
�����
����� </action>
�����
����� <action
������ name="cvEuroFicha01Form"
������ path="/cv_euro_1"
������ input="/WEB-INF/jsp/cv_euro_1.jsp"
������ type="cvgenerator.CVEuroFicha01Action"
������ scope="request"
������ validate="true"
������ >
��������� <forward name="mas"������ path="/WEB-INF/jsp/cv_euro_1.jsp"/>
��������� <forward name="siguiente" path="/WEB-INF/jsp/cv_euro_2.jsp"/>
��������� <!-- Navegacion libre entre pesta�as -->

��������� <forward name="hoja1"���� path="/WEB-INF/jsp/cv_euro_1.jsp"/>
��������� <forward name="hoja2"���� path="/WEB-INF/jsp/cv_euro_2.jsp"/>
��������� <forward name="hoja3"���� path="/WEB-INF/jsp/cv_euro_3.jsp"/>
��������� <forward name="hoja4"���� path="/WEB-INF/jsp/cv_euro_4.jsp"/>
��������� <forward name="hoja5"���� path="/WEB-INF/jsp/cv_euro_5.jsp"/>
�����
����� </action>
�����
����� <action
������ name="cvLocalFicha02Form"
������ path="/cv_local_2"
������ input="/WEB-INF/jsp/cv_local_2.jsp"
������ type="cvgenerator.CVLocalFicha02Action"
������ scope="request"
������ validate="true"
������ >
��������� <forward name="mas"������ path="/WEB-INF/jsp/cv_local_2.jsp"/>
��������� <forward name="siguiente" path="/WEB-INF/jsp/cv_local_3.jsp"/>
��������� <!-- Navegacion libre entre pesta�as -->

��������� <forward name="hoja1"���� path="/WEB-INF/jsp/cv_local_1.jsp"/>
��������� <forward name="hoja2"���� path="/WEB-INF/jsp/cv_local_2.jsp"/>
��������� <forward name="hoja3"���� path="/WEB-INF/jsp/cv_local_3.jsp"/>
��������� <forward name="hoja4"���� path="/WEB-INF/jsp/cv_local_4.jsp"/>
��������� <forward name="hoja5"���� path="/WEB-INF/jsp/cv_local_5.jsp"/>
�����
����� </action>
�����
����� <action
������ name="cvEuroFicha02Form"
������ path="/cv_euro_2"
������ input="/WEB-INF/jsp/cv_euro_2.jsp"
������ type="cvgenerator.CVEuroFicha02Action"
������ scope="request"
������ validate="true"
������ >
��������� <forward name="mas"������ path="/WEB-INF/jsp/cv_euro_2.jsp"/>
��������� <forward name="siguiente" path="/WEB-INF/jsp/cv_euro_3.jsp"/>
��������� <!-- Navegacion libre entre pesta�as -->

��������� <forward name="hoja1"���� path="/WEB-INF/jsp/cv_euro_1.jsp"/>
��������� <forward name="hoja2"���� path="/WEB-INF/jsp/cv_euro_2.jsp"/>
��������� <forward name="hoja3"���� path="/WEB-INF/jsp/cv_euro_3.jsp"/>
��������� <forward name="hoja4"���� path="/WEB-INF/jsp/cv_euro_4.jsp"/>
��������� <forward name="hoja5"���� path="/WEB-INF/jsp/cv_euro_5.jsp"/>
�����
����� </action>
�����
����� <action
������ name="cvLocalFicha03Form"
������ path="/cv_local_3"
������ input="/WEB-INF/jsp/cv_local_3.jsp"
������ type="cvgenerator.CVLocalFicha03Action"
������ scope="request"
������ validate="true"
������ >
��������� <forward name="mas"������ path="/WEB-INF/jsp/cv_local_3.jsp"/>
��������� <forward name="siguiente" path="/WEB-INF/jsp/cv_local_4.jsp"/>
��������� <!-- Navegacion libre entre pesta�as -->

��������� <forward name="hoja1"���� path="/WEB-INF/jsp/cv_local_1.jsp"/>
��������� <forward name="hoja2"���� path="/WEB-INF/jsp/cv_local_2.jsp"/>
��������� <forward name="hoja3"���� path="/WEB-INF/jsp/cv_local_3.jsp"/>
��������� <forward name="hoja4"���� path="/WEB-INF/jsp/cv_local_4.jsp"/>
��������� <forward name="hoja5"���� path="/WEB-INF/jsp/cv_local_5.jsp"/>
�����
����� </action>
�����
����� <action
������ name="cvEuroFicha03Form"
������ path="/cv_euro_3"
������ input="/WEB-INF/jsp/cv_euro_3.jsp"
������ type="cvgenerator.CVEuroFicha03Action"
������ scope="request"
������ validate="true"
������ >
��������� <forward name="mas"������ path="/WEB-INF/jsp/cv_euro_3.jsp"/>
��������� <forward name="siguiente" path="/WEB-INF/jsp/cv_euro_4.jsp"/>
��������� <!-- Navegacion libre entre pesta�as -->

��������� <forward name="hoja1"���� path="/WEB-INF/jsp/cv_euro_1.jsp"/>
��������� <forward name="hoja2"���� path="/WEB-INF/jsp/cv_euro_2.jsp"/>
��������� <forward name="hoja3"���� path="/WEB-INF/jsp/cv_euro_3.jsp"/>
��������� <forward name="hoja4"���� path="/WEB-INF/jsp/cv_euro_4.jsp"/>
��������� <forward name="hoja5"���� path="/WEB-INF/jsp/cv_euro_5.jsp"/>
�����
����� </action>
�����
����� <action
������ name="cvLocalFicha04Form"
������ path="/cv_local_4"
������ input="/WEB-INF/jsp/cv_local_4.jsp"
������ type="cvgenerator.CVLocalFicha04Action"
������ scope="request"
������ validate="true"
������ >
��������� <forward name="mas"������ path="/WEB-INF/jsp/cv_local_4.jsp"/>
��������� <forward name="siguiente" path="/WEB-INF/jsp/cv_local_5.jsp"/>
��������� <!-- Navegacion libre entre pesta�as -->

��������� <forward name="hoja1"���� path="/WEB-INF/jsp/cv_local_1.jsp"/>
��������� <forward name="hoja2"���� path="/WEB-INF/jsp/cv_local_2.jsp"/>
��������� <forward name="hoja3"���� path="/WEB-INF/jsp/cv_local_3.jsp"/>
��������� <forward name="hoja4"���� path="/WEB-INF/jsp/cv_local_4.jsp"/>
��������� <forward name="hoja5"���� path="/WEB-INF/jsp/cv_local_5.jsp"/>
�����
����� </action>
�����
����� <action
������ name="cvEuroFicha04Form"
������ path="/cv_euro_4"
������ input="/WEB-INF/jsp/cv_euro_4.jsp"
������ type="cvgenerator.CVEuroFicha04Action"
������ scope="request"
������ validate="true"
������ >
��������� <forward name="mas"������ path="/WEB-INF/jsp/cv_euro_4.jsp"/>
��������� <forward name="siguiente" path="/WEB-INF/jsp/cv_euro_5.jsp"/>
��������� <!-- Navegacion libre entre pesta�as -->

��������� <forward name="hoja1"���� path="/WEB-INF/jsp/cv_euro_1.jsp"/>
��������� <forward name="hoja2"���� path="/WEB-INF/jsp/cv_euro_2.jsp"/>
��������� <forward name="hoja3"���� path="/WEB-INF/jsp/cv_euro_3.jsp"/>
��������� <forward name="hoja4"���� path="/WEB-INF/jsp/cv_euro_4.jsp"/>
��������� <forward name="hoja5"���� path="/WEB-INF/jsp/cv_euro_5.jsp"/>
�����
����� </action>
�����
����� <action
������ name="cvLocalFicha05Form"
������ path="/cv_local_5"
������ input="/WEB-INF/jsp/cv_local_5.jsp"
������ type="cvgenerator.CVLocalFicha05Action"
������ scope="request"
������ validate="true"
������ >
��������� <forward name="mas"������ path="/WEB-INF/jsp/cv_local_5.jsp"/>
��������� <forward name="siguiente" path="/WEB-INF/jsp/cv_fin.jsp"/>
��������� <!-- Navegacion libre entre pesta�as -->

��������� <forward name="hoja1"���� path="/WEB-INF/jsp/cv_local_1.jsp"/>
��������� <forward name="hoja2"���� path="/WEB-INF/jsp/cv_local_2.jsp"/>
��������� <forward name="hoja3"���� path="/WEB-INF/jsp/cv_local_3.jsp"/>
��������� <forward name="hoja4"���� path="/WEB-INF/jsp/cv_local_4.jsp"/>
��������� <forward name="hoja5"���� path="/WEB-INF/jsp/cv_local_5.jsp"/>
�����
����� </action>
�����
����� <action
������ name="cvEuroFicha05Form"
������ path="/cv_euro_5"
������ input="/WEB-INF/jsp/cv_euro_5.jsp"
������ type="cvgenerator.CVEuroFicha05Action"
������ scope="request"
������ validate="true"
������ >
��������� <forward name="mas"������ path="/WEB-INF/jsp/cv_euro_5.jsp"/>
��������� <forward name="siguiente" path="/WEB-INF/jsp/cv_fin_euro.jsp"/>
��������� <!-- Navegacion libre entre pesta�as -->



Pablo Saavedra wrote:
Podemos ver tu struts-config.xml?

�Por qu�?!!!!!!!!!!



jgmaux wrote:
Hola,

Acabo de probarlo y sigue dando el mismo error.

He duplicado el fichero varias veces por si acaso

MyMessages.properties
MyMessages_es.properties
MyMessages_ES.properties
MyMessages_es_ES.properties
MyMessages_ca_ES.properties



Pablo Saavedra wrote:
Pareciera estar bien.... capaz que los nombres de los archivos est�n mal? Probaste que pasa usando MyMessages_es.properties?

Saludos.

On 19/12/06, jgmaux < jgm...@telefonica.net > wrote:
Hola Pablo,

S�, me equivoqu� al redactar el mail, si que tengo los properties bajo el mismo paquete :

/WEB-INF/classes/myproject/

�entonces donde puede est�r el error?
Me estoy volviendo loco, me han pasado una aplicaci�n de struts que no funciona y no se como levantarla..

Gracias.



Pablo Saavedra wrote:
Hola, me parece que lo tendr�as que tener en

/WEB-INF/classes/myproject/

si mal no recuerdo el myproject adelante le dice la ruta a seguir.

Espero que te sirva.
Saludos.

On 18/12/06, jgmaux < jgm...@telefonica.net > wrote:

Hola,

Tengo el siguiente error rm Struts:

javax.servlet.jsp.JspException: Cannot find message resources under key
MyMessages
��������at
org.apache.struts.taglib.TagUtils.retrieveMessageResources (TagUtils.java:1100)
��������at org.apache.struts.taglib.TagUtils.message(TagUtils.java:944)
��������at
org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:221)
��������at
org.apache.jsp.WEB_002dINF.jsp.cv_005finicio_005feuro_jsp._jspx_meth_bean_message_0 (cv_005finicio_005feuro_jsp.java:153)
��������at
org.apache.jsp.WEB_002dINF.jsp.cv_005finicio_005feuro_jsp._jspx_meth_

En el strusts-config.xml tengo la definici�n creo que correcta:


<message-resources parameter=" myproject.MyMessages" null="false"/>

Y bajo /WEB-INF/classes/ tengo los properties correspondientes:

MyMessages.properties
MyMessages_es_ES.properties
MyMessages_ca_ES.properties

�Qu� puede estar fallando?

Gracias y un saludo.






























Reply all
Reply to author
Forward
0 new messages