Foros del Web » Programación para mayores de 30 ;) » Java »

spring mvc y i18n: localeResolver no funciona

Estas en el tema de spring mvc y i18n: localeResolver no funciona en el foro de Java en Foros del Web. no consigo que mi aplicación cambie de idioma. es algo que he hecho mil veces, pero ahora parece que no quiere funcionar. os dejo mi ...
  #1 (permalink)  
Antiguo 23/12/2011, 13:17
Avatar de navarone86  
Fecha de Ingreso: octubre-2009
Mensajes: 62
Antigüedad: 15 años, 1 mes
Puntos: 2
spring mvc y i18n: localeResolver no funciona

no consigo que mi aplicación cambie de idioma. es algo que he hecho mil veces, pero ahora parece que no quiere funcionar. os dejo mi código:

pom.xml
Código XML:
Ver original
  1. <dependencies>
  2.     <dependency>
  3.       <groupId>junit</groupId>
  4.       <artifactId>junit</artifactId>
  5.       <version>4.10</version>
  6.       <scope>test</scope>
  7.     </dependency>
  8.     <dependency>
  9.         <groupId>org.springframework</groupId>
  10.         <artifactId>spring-beans</artifactId>
  11.         <version>${org.springframework.version}</version>
  12.     </dependency>
  13.     <dependency>
  14.         <groupId>org.springframework</groupId>
  15.         <artifactId>spring-context</artifactId>
  16.         <version>${org.springframework.version}</version>
  17.     </dependency>
  18.     <dependency>
  19.         <groupId>org.springframework</groupId>
  20.         <artifactId>spring-core</artifactId>
  21.         <version>${org.springframework.version}</version>
  22.     </dependency>
  23.     <dependency>
  24.         <groupId>org.springframework</groupId>
  25.         <artifactId>spring-web</artifactId>
  26.         <version>${org.springframework.version}</version>
  27.     </dependency>
  28.     <dependency>
  29.         <groupId>org.springframework</groupId>
  30.         <artifactId>spring-webmvc</artifactId>
  31.         <version>${org.springframework.version}</version>
  32.     </dependency>
  33.     <dependency>
  34.         <groupId>org.springframework</groupId>
  35.         <artifactId>spring-orm</artifactId>
  36.         <version>${org.springframework.version}</version>
  37.     </dependency>
  38.     <dependency>
  39.         <groupId>org.springframework</groupId>
  40.         <artifactId>spring-test</artifactId>
  41.         <version>${org.springframework.version}</version>
  42.         <scope>test</scope>
  43.     </dependency>
  44.     <dependency>
  45.         <groupId>org.springframework.security</groupId>
  46.         <artifactId>spring-security-web</artifactId>
  47.         <version>${org.springframework.version}</version>
  48.     </dependency>
  49.     <dependency>
  50.         <groupId>org.springframework.security</groupId>
  51.         <artifactId>spring-security-config</artifactId>
  52.         <version>${org.springframework.version}</version>
  53.     </dependency>
  54.     <dependency>
  55.         <groupId>org.springframework.security</groupId>
  56.         <artifactId>spring-security-taglibs</artifactId>
  57.         <version>${org.springframework.version}</version>
  58.     </dependency>
  59.     <dependency>
  60.         <groupId>jstl</groupId>
  61.         <artifactId>jstl</artifactId>
  62.         <version>1.2</version>
  63.     </dependency>
  64.     <dependency>
  65.         <groupId>javax.servlet</groupId>
  66.         <artifactId>javax.servlet-api</artifactId>
  67.         <version>3.0.1</version>
  68.     </dependency>
  69.     <dependency>
  70.         <groupId>log4j</groupId>
  71.         <artifactId>log4j</artifactId>
  72.         <version>1.2.16</version>
  73.     </dependency>
  74.     <dependency>
  75.         <groupId>org.hibernate</groupId>
  76.         <artifactId>hibernate-annotations</artifactId>
  77.         <version>3.5.6-Final</version>
  78.     </dependency>
  79.     <dependency>
  80.         <groupId>org.hibernate</groupId>
  81.         <artifactId>hibernate-validator</artifactId>
  82.         <version>4.2.0.Final</version>
  83.         <exclusions>
  84.             <exclusion>
  85.                 <groupId>org.slf4j</groupId>
  86.                 <artifactId>slf4j-api</artifactId>
  87.             </exclusion>
  88.         </exclusions>
  89.     </dependency>
  90.     <dependency>
  91.         <groupId>org.slf4j</groupId>
  92.         <artifactId>slf4j-simple</artifactId>
  93.         <version>1.5.8</version>
  94.     </dependency>
  95.     <dependency>
  96.         <groupId>joda-time</groupId>
  97.         <artifactId>joda-time</artifactId>
  98.         <version>2.0</version>
  99.     </dependency>
  100.     <dependency>
  101.         <groupId>mysql</groupId>
  102.         <artifactId>mysql-connector-java</artifactId>
  103.         <version>5.1.18</version>
  104.     </dependency>
  105.     <dependency>
  106.         <groupId>org.javassist</groupId>
  107.         <artifactId>javassist</artifactId>
  108.         <version>3.15.0-GA</version>
  109.     </dependency>
  110.     <dependency>
  111.         <groupId>commons-fileupload</groupId>
  112.         <artifactId>commons-fileupload</artifactId>
  113.         <version>1.2.2</version>
  114.     </dependency>
  115.     <dependency>
  116.         <groupId>commons-io</groupId>
  117.         <artifactId>commons-io</artifactId>
  118.         <version>2.1</version>
  119.     </dependency>
  120.   </dependencies>

web.xml
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.    xmlns="http://java.sun.com/xml/ns/javaee"
  4.    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5.    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  6.    id="WebApp_ID" version="2.5">
  7.    
  8.     <display-name>Spring3MVC</display-name>
  9.    
  10.     <welcome-file-list>
  11.         <welcome-file>index.jsp</welcome-file>
  12.     </welcome-file-list>
  13.  
  14.     <servlet>
  15.         <servlet-name>spring</servlet-name>
  16.         <servlet-class>
  17.             org.springframework.web.servlet.DispatcherServlet
  18.         </servlet-class>
  19.         <load-on-startup>1</load-on-startup>
  20.     </servlet>
  21.     <servlet-mapping>
  22.         <servlet-name>spring</servlet-name>
  23.         <url-pattern>/</url-pattern>
  24.     </servlet-mapping>
  25.    
  26.     <listener>
  27.         <listener-class>
  28.             org.springframework.web.context.ContextLoaderListener
  29.         </listener-class>
  30.     </listener>
  31.  
  32.     <context-param>
  33.         <param-name>contextConfigLocation</param-name>
  34.         <param-value>
  35.             /WEB-INF/spring-servlet.xml,
  36.             /WEB-INF/spring-security.xml
  37.         </param-value>
  38.     </context-param>
  39.  
  40.     <filter>
  41.         <filter-name>springSecurityFilterChain</filter-name>
  42.         <filter-class>
  43.             org.springframework.web.filter.DelegatingFilterProxy
  44.         </filter-class>
  45.     </filter>
  46.  
  47.     <filter-mapping>
  48.         <filter-name>springSecurityFilterChain</filter-name>
  49.         <url-pattern>/*</url-pattern>
  50.     </filter-mapping>
  51. </web-app>

spring-servlet.xml
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.    xmlns:p="http://www.springframework.org/schema/p"
  5.    xmlns:context="http://www.springframework.org/schema/context"
  6.    xmlns:mvc="http://www.springframework.org/schema/mvc"
  7.    xmlns:tx="http://www.springframework.org/schema/tx"
  8.    xsi:schemaLocation="http://www.springframework.org/schema/beans
  9.         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  10.         http://www.springframework.org/schema/context
  11.         http://www.springframework.org/schema/context/spring-context-3.0.xsd
  12.         http://www.springframework.org/schema/mvc
  13.        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
  14.        http://www.springframework.org/schema/tx
  15.        http://www.springframework.org/schema/tx/spring-tx.xsd">
  16.  
  17.     <context:component-scan base-package="group.artifact" />
  18.  
  19.     <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  20.         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
  21.         <property name="prefix" value="/WEB-INF/jsp/" />
  22.         <property name="suffix" value=".jsp" />
  23.     </bean>
  24.    
  25.     <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
  26.         <property name="basename" value="classpath:messages" />
  27.         <property name="defaultEncoding" value="UTF-8" />
  28.     </bean>
  29.    
  30.     <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
  31.         <property name="paramName" value="lang" />
  32.     </bean>
  33.  
  34.     <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
  35.         <property name="defaultLocale" value="es"/>
  36.     </bean>
  37.  
  38.     <bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
  39.         <property name="interceptors">
  40.             <ref bean="localeChangeInterceptor" />
  41.         </property>
  42.     </bean>
  43.    
  44.     <mvc:annotation-driven />
  45.    
  46.     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  47.         <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
  48.         <property name="url"><value>jdbc:mysql://localhost/database</value></property>
  49.         <property name="username"><value>root</value></property>
  50.         <property name="password"><value></value></property>
  51.     </bean>
  52.    
  53.     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  54.         <property name="dataSource" ref="dataSource"/>
  55.         <property name="packagesToScan" value="group.artifact.models"/>
  56.     </bean>
  57.    
  58.     <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
  59.         <property name="sessionFactory" ref="sessionFactory"/>
  60.     </bean>
  61.    
  62.     <tx:annotation-driven />
  63.    
  64.     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  65.         <property name="sessionFactory" ref="sessionFactory" />
  66.     </bean>
  67.    
  68.     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  69.         <!-- one of the properties available; the maximum file size in bytes -->
  70.         <property name="maxUploadSize" value="10000000" />
  71.     </bean>    
  72. </beans>

e intento cambiar el idioma con los siguientes enlaces:
Código HTML:
Ver original
  1. <a href="?lang=es">es</a>
  2. <a href="?lang=en">en</a>

y los properties con las traducciones están en /WEB-INF/classes, y está bien ya que el idioma por defecto lo coge bien

seguro que falta alguna tontería, pero por más que miro no consigo nada. he mirado mil ejemplos en internet, y todos tienen lo mismo, exactamente lo mismo que yo, y a mi no me funciona
  #2 (permalink)  
Antiguo 26/12/2011, 14:02
Avatar de navarone86  
Fecha de Ingreso: octubre-2009
Mensajes: 62
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: spring mvc y i18n: localeResolver no funciona

bueno, ya he encontrado la solución

en el spring-servlet.xml, hay que poner tan solo lo siguiente:

Código XML:
Ver original
  1. <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
  2.         <property name="basename" value="classpath:messages"/>
  3.         <property name="defaultEncoding" value="UTF-8"/>
  4.     </bean>
  5.    
  6.     <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
  7.         <property name="defaultLocale" value="es"/>
  8.     </bean>
  9.    
  10.     <mvc:interceptors>  
  11.         <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
  12.               <property name="paramName" value="lang"/>
  13.         </bean>
  14.     </mvc:interceptors>

con eso ya valdría. la solución la he encontrado aquí


un saludo
  #3 (permalink)  
Antiguo 27/12/2011, 02:29
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 9 meses
Puntos: 78
Respuesta: spring mvc y i18n: localeResolver no funciona

Gracias por compartir esta info.

Un saludo.

Etiquetas: i18n, localeresolver, spring
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:12.