Child pages
  • How do I set a global resource bundle
Skip to end of metadata
Go to start of metadata

In Struts 2, resource bundles can be associated with classes. The framework will automatically discover and load class-orientated resource bundles. You can also specify one or more global resource bundles, which would be available to all classes in the application, using either the standard properties file, or a custom listener.

Properties file

Global resource bundles can be specified in the configuration file.

The framework searches the class heirarchy first, then, as a last resource, checks the global resources.

Multiple resource bundles can be specified by providing a comma-separated list.
struts.custom.i18n.resources=global-messages, image-messages


Aside from the properties file, a Listener could also be used to load global resource bundles.
public class ActionGlobalMessagesListener implements ServletContextListener {
  private static Logger log = Logger.getLogger(ActionGlobalMessagesListener .class);
  private static final String DEFAULT_RESOURCE = "global-messages";

   * Uses the LocalizedTextUtil to load messages from the global message bundle.
   * @see
  public void contextInitialized(ServletContextEvent arg0) {"Loading global messages from " + DEFAULT_RESOURCE);
    LocalizedTextUtil.addDefaultResourceBundle(DEFAULT_RESOURCE);"Global messages loaded.");

   * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
  public void contextDestroyed(ServletContextEvent arg0) {

      // do nothing


(under listeners section)

  • No labels