通常情況下,您可能需要一個全局資源包(屬性檔)來存儲資訊,可用於在應用程式中的所有類。
在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.xuhuhu.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.xuhuhu.common.listener.GlobalMessagesListener
</listener-class>
</listener>
</web-app>
下載源代碼(globalresource)– http://pan.baidu.com/s/1sj1Rg7r
上一篇:
Struts2中文本地化問題
下一篇:
Struts2+Spring集成實例
