2014-03-01 108 views
0

我在Spring MVC中實現了內部化。下面是我的ApplicationContext的XML文件Spring MVC中的國際化

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
    <property name="basename" value="/WEB-INF/ApplicationResources"></property> 
</bean> 

我已經/網絡內容/ WEB-INF /目錄下保持ApplicationResources_en.properties文件。

在JSP中,我使用<fmt:message>標籤加載消息。但我得到的消息如下。
??? addEmployee.UserName ???

有人可以幫我嗎?

回答

1

請確保您註冊一個LocaleChangeInterceptor豆攔截用戶的區域設置:

<mvc:interceptors>  
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" 
     p:paramName="locale" /> 
</mvc:interceptors> 

然後嘗試使用<spring:message code="addEmployee.UserName" text="username" />,而不是標籤。

否則,<spring:message>密切resemebles到<fmt:message>只是後來沒有使用Spring本地化解析器,你必須解析器改爲

`<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>` 

將設置爲JSTL標記一個LocalizationContext。

BR。

+0

我可以不使用標記而不是嗎? 是否有使用標籤的具體原因? – Tjs

+0

其實是的,你可以肯定地使用''標籤,但我沒有觸及它一段時間,因爲我記得它不會工作,除非你指定一個視圖解析器爲你的jsp文件'」,它實際上會設置LocalizationContext併爲你做所有的魔術。 – tmarwen

+0

我已將視圖配置爲'InternalResourceView'。現在我改爲'JstlView'。它的工作! 非常感謝:) – Tjs