<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Spring i18n – `ResourceBundleMessageSource` > [https://howtodoinjava.com/spring-core/resolving-text-messages-in-spring-resourcebundlemessagesource-example/](https://howtodoinjava.com/spring-core/resolving-text-messages-in-spring-resourcebundlemessagesource-example/) 對于支持國際化(i18n)的應用程序,它要求**能夠解析不同區域設置**的文本消息。 Spring 的應用程序上下文可以通過其鍵解析目標區域設置的文本消息。 通常,一種語言環境的消息應存儲在一個單獨的屬性文件中。 此屬性文件稱為**資源包**。 `MessageSource`是定義幾種解決消息的方法的接口。 `ApplicationContext`接口擴展了此接口,以便所有應用程序上下文都能夠解析文本消息。 > 應用程序上下文將消息解析委托給確切名稱為`messageSource`的 Bean。 `ResourceBundleMessageSource`是最常見的`MessageSource`實現,用于解析來自不同區域的資源包中的消息。 ## 1\. 使用`ResourceBundleMessageSource`解析消息 例如,您可以為美國英語創建以下資源包`messages_en_US.properties`。 **資源包將從類路徑的根目錄加載**。 #### 1.1. 創建資源包 在 spring 應用程序的類路徑中創建文件名`messages_en_US.properties`。 `messages_en_US.properties` ```java msg.text=Welcome to howtodoinjava.com ``` #### 1.2. 配置`ResourceBundleMessageSource` bean 現在將`ResourceBundleMessageSource`類配置為 bean 名稱`"messageSource"`。 另外,您必須為`ResourceBundleMessageSource`指定資源包的基本名稱。 `applicationContext.xml` ```java <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename"> <value>messages</value> </property> </bean> ``` ## 2\. 資源包查找順序 1. 對于此`messageSource`定義,如果您查找首選語言為英語的美國語言環境的文本消息,則將首先考慮與語言和國家/地區匹配的資源包`messages_en_US.properties`。 2. 如果沒有此類資源包或找不到消息,則將考慮僅與該語言匹配的一個`messages_en.properties`。 3. 如果仍然找不到此資源包,則最終將選擇所有語言環境的默認`messages.properties`。 ## 3\. 演示 – 如何使用`MessageSource` #### 3.1. 直接獲取消息 現在要檢查是否可以加載消息,請運行以下代碼: `TestSpringContext.java` ```java public class TestSpringContext { @SuppressWarnings("resource") public static void main(String[] args) throws Exception { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); String message = context.getMessage("msg.text", null, Locale.US); System.out.println(message); } } ``` 輸出: `Console` ```java Welcome to howtodoinjava.com ``` #### 3.2. 在 bean 中實現`MessageSourceAware`接口 很好,因此我們能夠解析消息。 但是,這里我們直接訪問`ApplicationContext`,因此看起來很簡單。 如果要在某個 bean 實例中訪問消息,則需要實現`ApplicationContextAware`接口或`MessageSourceAware`接口。 像這樣: `EmployeeController.java` ```java public class EmployeeController implements MessageSourceAware { private MessageSource messageSource; public void setMessageSource(MessageSource messageSource) { this.messageSource = messageSource; } //Other code } ``` 現在,您可以使用此`messageSource`實例來檢索/解析資源文件中定義的文本消息。 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看