Spring4国际化多语言
Spring4 internationalization multiple language
http://www.mkyong.com/spring-mvc/spring-mvc-internationalization-example/
尝试按照此在线教程创建多语言 Web 应用程序,我遇到的问题是我认为我的 spring 容器没有找到/加载我的属性文件。我不确定哪里出了问题。
文件结构
welcome.properties
welcome.springmvc = Happy learning Spring MVC
welcome.properties
welcome.springmvc = \u5feb\u4e50\u5b66\u4e60 Spring MVC
Index.jsp
Language : <a href="?language=en">English</a>|<a href="?language=zh_CN">Chinese</a>
<h2>
welcome.springmvc : <spring:message code="welcome.springmvc" text="default text" />
</h2>
Current Locale : ${pageContext.response.locale}
app-dispatcher-servlet:
我确定我的拦截器正在工作,因为 index.jsp ${pageContext.response.locale} 正在显示 en/zh_cn
国际化:多语言支持
资源:
http://www.mkyong.com/spring-mvc/spring-mvc-internationalization-example/
http://howtodoinjava.com/spring/spring-mvc/spring-mvc-internationalization-i18n-and-localization-i10n-example/
http://www.technicalkeeda.com/spring-tutorials/spring-mvc-internationalization-i18n-example
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="en" />
</bean>
<mvc:interceptors>
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language" />
</bean>
</mvc:interceptors>
<!-- <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" >
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor" />
</list>
</property>
</bean> -->
<!-- Register the welcome.properties -->
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="welcome" />
</bean>
<!-- ViewResolver JSP -->
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/html/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
但我在 index.jsp 中的结果是
它说 "default text" 应该从属性文件中真正显示 "Happy learning Spring MVC"。
将 属性 文件 welcome.properties
更改为
welcome_en_US.properties
之后它应该可以工作
我已经更改了我的 app-dispatcher-servlet.xml 显式状态 class 路径
发件人:
<!-- Register the welcome.properties -->
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="welcome" />
</bean>
收件人:
<bean id="messageSource"
class="com.app.service.CustomMessageSource">
<property name="basenames">
<list>
<value>classpath:com/app/properties/welcome</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8" />
</bean>
http://www.mkyong.com/spring-mvc/spring-mvc-internationalization-example/
尝试按照此在线教程创建多语言 Web 应用程序,我遇到的问题是我认为我的 spring 容器没有找到/加载我的属性文件。我不确定哪里出了问题。
文件结构
welcome.properties
welcome.springmvc = Happy learning Spring MVC
welcome.properties
welcome.springmvc = \u5feb\u4e50\u5b66\u4e60 Spring MVC
Index.jsp
Language : <a href="?language=en">English</a>|<a href="?language=zh_CN">Chinese</a>
<h2>
welcome.springmvc : <spring:message code="welcome.springmvc" text="default text" />
</h2>
Current Locale : ${pageContext.response.locale}
app-dispatcher-servlet: 我确定我的拦截器正在工作,因为 index.jsp ${pageContext.response.locale} 正在显示 en/zh_cn
国际化:多语言支持
资源: http://www.mkyong.com/spring-mvc/spring-mvc-internationalization-example/ http://howtodoinjava.com/spring/spring-mvc/spring-mvc-internationalization-i18n-and-localization-i10n-example/
http://www.technicalkeeda.com/spring-tutorials/spring-mvc-internationalization-i18n-example
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="en" />
</bean>
<mvc:interceptors>
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language" />
</bean>
</mvc:interceptors>
<!-- <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" >
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor" />
</list>
</property>
</bean> -->
<!-- Register the welcome.properties -->
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="welcome" />
</bean>
<!-- ViewResolver JSP -->
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/html/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
但我在 index.jsp 中的结果是
它说 "default text" 应该从属性文件中真正显示 "Happy learning Spring MVC"。
将 属性 文件 welcome.properties
更改为
welcome_en_US.properties
之后它应该可以工作
我已经更改了我的 app-dispatcher-servlet.xml 显式状态 class 路径
发件人:
<!-- Register the welcome.properties -->
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="welcome" />
</bean>
收件人:
<bean id="messageSource"
class="com.app.service.CustomMessageSource">
<property name="basenames">
<list>
<value>classpath:com/app/properties/welcome</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8" />
</bean>