Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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.

Code Block

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.

Code Block
struts.custom.i18n.resources=global-messages, image-messages


Aside from the properties file, a Listener could also be used to load global resource bundles.

Code Block
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)

Code Block