Struts 2でグローバル・リソース・バンドルを構成する方法

Struts 2でグローバルリソースバンドルを構成する方法

多くの場合、アプリケーションのすべてのクラスで利用可能なメッセージを保存するために、グローバルリソースバンドル(プロパティファイル)が必要になる場合があります。

Struts 2には、グローバルリソースバンドルを構成する3つの方法があります。

1. struts.properties

「struts.properties」ファイルでグローバルリソースバンドルを構成します。ここでは、「global.properties」という名前のプロパティファイルをグローバルリソースバンドルとして定義しました。

struts.custom.i18n.resources = global

複数のリソースバンドルの場合は、プロパティファイルをカンマで区切るだけです。

struts.custom.i18n.resources = global, another-properties-file

2. struts.xml

または、struts.xml構成ファイルでグローバルリソースバンドルを定数値として構成することもできます。


   

3. listener

最後の方法は、サーブレットリスナーを使用して、プロパティファイルをグローバルリソースバンドルとしてロードすることです。

package com.example.common.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import com.opensymphony.xwork2.util.LocalizedTextUtil;

public class GlobalMessagesListener implements ServletContextListener {

      private static final String DEFAULT_RESOURCE = "global";

      public void contextInitialized(ServletContextEvent arg0) {
        LocalizedTextUtil.addDefaultResourceBundle(DEFAULT_RESOURCE);
      }

      public void contextDestroyed(ServletContextEvent arg0) {
      }
}

web.xml




  Struts 2 Web Application

  
    struts2
    org.apache.struts2.dispatcher.FilterDispatcher
  

  
    struts2
    /*
  

  
    
          com.example.common.listener.GlobalMessagesListener