如何組態Struts2全域性資源包


通常情況下,您可能需要一個全域性資源包(屬性檔案)來儲存資訊,可用於在應用程式中的所有類。
在Struts2,有三種方式來組態全域性資源包:

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 組態檔案中的常數值。
<struts>
   <constant name="struts.custom.i18n.resources" value="global" /> 	
</struts>

3. listener

最後一個方法是使用servlet監聽器載入一個屬性檔案作為全域性資源包。
package com.tw511.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

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Struts 2 Web Application</display-name>
  
  <filter>
	<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  
  <filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>/*</url-pattern>
  </filter-mapping>
  
  <listener>
  	<listener-class>
          com.tw511.common.listener.GlobalMessagesListener
        </listener-class>
  </listener>

</web-app>
下載原始碼(globalresource)– http://pan.baidu.com/s/1sj1Rg7r