有没有办法将属性文件中的数据显示为HTML文件?

时间:2016-03-18 08:48:43

标签: java html properties thymeleaf

有没有办法使用 thymeleaf 将属性文件中的数据显示为HTML?假设我有 global_en.properties

userId = Username EN

我的HTML中有类似的内容:

<label> <span th:text="#{userId}"></span> </label>

此处,它正确显示用户名EN。但是,如果我有另一个 global_jp.properties ,我该怎么做呢?

userId = Username JP

global_en.properties 具有相同的键值。基本上,当用户选择日语和用户名JP时,我想要做的是显示用户名EN。

编辑: 好的,所以我在servlet.xml中有这个: locale拦截器在mvc:interceptors

下声明
<mvc:interceptors>
    <bean id="localeChangeInterceptor"
        class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
        <property name="paramName" value="lang" />
    </bean>
    <bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor">
      <property name="cacheSeconds" value="0" />
      <property name="useExpiresHeader" value="false" />
      <property name="useCacheControlHeader" value="true" />
      <property name="useCacheControlNoStore" value="true" />
    </bean>
<mvc:interceptor>
  <mvc:mapping path="/**" />
  <mvc:exclude-mapping path="/css/**" />
  <mvc:exclude-mapping path="/img/**" />
  <mvc:exclude-mapping path="/js/**" />
  <mvc:exclude-mapping path="/lib/**" />
  <mvc:exclude-mapping path="/" />
  <mvc:exclude-mapping path="/index.do" />
  <mvc:exclude-mapping path="/C0001.do" />
  <mvc:exclude-mapping path="/pages/C0001.do" />
  <mvc:exclude-mapping path="/C0001Login.do" />
  <bean class="jp.co.vmt.qt.common.interceptor.LoginIntercept" />
</mvc:interceptor>

本地解析器

<!-- Internationalization -->
 <bean id="localeResolver"
    class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
    <property name="defaultLocale" value="en_UK" />
  </bean>

属性文件的位置

<!-- messages.properties location -->
  <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
      <property name="basenames">
            <list>
                <value>WEB-INF/conf/messages</value>
                <value>WEB-INF/conf/global</value>
            </list>
      </property>
  </bean>

根据我的理解,这些东西是我需要的本地化工作所需的一切,对吗?我在我的网址中添加了#34; ../ action?lang = jp&#34;但它仍然显示英文版本。我现在不确定它出了什么问题。

1 个答案:

答案 0 :(得分:0)

您应该在应用程序的后端处理此问题。这里解释如下:  http://justinrodenbostel.com/2014/05/13/part-4-internationalization-in-spring-boot/

此外,尝试使用Spring的标准命名,即messages_en.propertiesmessages_jp.properties