【问题标题】:Spring MVC internatializationSpring MVC 国际化
【发布时间】:2012-11-03 13:10:35
【问题描述】:

我正在尝试在我的 spring mvc 应用程序中使用国际化。 但我不知道如何将它用于输入。 我想做这样的事情:

<input id="actionButton" type="submit" value='<spring:message code="LogIn"/>'/>

但按钮的标签不是'spring:message code="LogIn"',而不是.properties 文件中这个常量的值。我该怎么做?

【问题讨论】:

  • 您的语言环境拦截器配置正确吗?
  • 是的,如果我使用 spring:message 不作为输入值,一切正常。
  • 您是否考虑过将 spring:message 内容存储到 var 中,然后使用 EL 中的 $ 引用该 var?
  • 这是唯一的方法吗?我认为这不好..如果我有 10 个按钮怎么办..我必须设置 10 个变量。
  • 据我所知,你不能在另一个标签中使用一个标签,所以这是首先想到的。

标签: java spring internationalization


【解决方案1】:

您是否考虑过将 spring:message 内容存储到 var 中,然后使用 $ 引用该 var?

一个非常有用的教程在这里:http://springbyexample.org/examples/basic-webapp-internationalization.html

你必须在 applicationContext 中有一个拦截器,比如

<mvc:interceptors>
        <bean
            class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
            <property name="paramName" value="lang" />
        </bean>
</mvc:interceptors>

你还需要

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="classpath:messages" />
        <property name="defaultEncoding" value="UTF-8" />
    </bean>

    <bean id="localeResolver"
        class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>

我还想在您的 xml 开头添加以下内容:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:security="http://www.springframework.org/schema/security"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans.xsd
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context.xsd
     http://www.springframework.org/schema/tx
     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
     http://www.springframework.org/schema/util
     http://www.springframework.org/schema/util/spring-util-3.0.xsd
     http://www.springframework.org/schema/security
     http://www.springframework.org/schema/security/spring-security-3.0.xsd">

为了识别mvc等前缀是必须的。确保你拥有它。

我的messages_*.properties文件在源文件夹src/main/resources中,不在webapp中,我不知道这是否重要。

【讨论】:

  • 是的,这正是我所拥有的 :)
猜你喜欢
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多