Using ResourceBundles (without having to restart container)

(Difference between revisions)
Jump to: navigation, search
 
Line 1: Line 1:
taken from the newsgroup:
+
''taken from the newsgroup:''
  
 
It's a pain to work with i18n'ed jsp pages, and restart the container every time I want to see if the keys are working ok.
 
It's a pain to work with i18n'ed jsp pages, and restart the container every time I want to see if the keys are working ok.
  
Actually we have implemented such a feature in OpenCms 6.2.
+
Actually there is a feature in OpenCms 6.2 for this:
  
 
All OpenCms module based message bundles are flushed if you clear the cache,
 
All OpenCms module based message bundles are flushed if you clear the cache,
Line 18: Line 18:
  
 
only that we do have the flushable bundle cache.  
 
only that we do have the flushable bundle cache.  
 +
  
 
Example:
 
Example:
<nowiki>
 
<%@page import="org.opencms.jsp.*, org.opencms.file.*, org.opencms.flex.*, java.util.*" %>
 
  
<%@ taglib prefix="cmstag" uri="http://www.opencms.org/taglib/cms" %>
+
<nowiki><%@page import="org.opencms.jsp.*, org.opencms.file.*, org.opencms.flex.*, java.util.*" %></nowiki>
 +
 
 +
<nowiki><%@ taglib prefix="cmstag" uri="http://www.opencms.org/taglib/cms" %></nowiki>
 +
 
 +
<nowiki><%</nowiki>
 +
 
 +
<nowiki>org.opencms.i18n.CmsResourceBundleLoader.flushBundleCache();</nowiki>
 +
 
 +
<nowiki>java.util.ResourceBundle messages = org.opencms.i18n.CmsResourceBundleLoader.getBundle("your_bundle_here", new</nowiki>  
  
<%
+
<nowiki>java.util.Locale("es"));</nowiki>
  org.opencms.i18n.CmsResourceBundleLoader.flushBundleCache();
+
  java.util.ResourceBundle messages = org.opencms.i18n.CmsResourceBundleLoader.getBundle("your_bundle_here", new java.util.Locale("es"));
+
%>
+
  
 +
<nowiki>%></nowiki>
  
<%= messages.getString("test.label1") %>
+
<nowiki><%= messages.getString("test.label1") %></nowiki>
</nowiki>
+

Revision as of 21:57, 2 March 2007

taken from the newsgroup:

It's a pain to work with i18n'ed jsp pages, and restart the container every time I want to see if the keys are working ok.

Actually there is a feature in OpenCms 6.2 for this:

All OpenCms module based message bundles are flushed if you clear the cache, which can be triggered by "Administration View > Workplace Tools > Re-Initialize the Workplace".

You can also use this caching behaviour in your Java code like this:

org.opencms.i18n.CmsResourceBundleLoader.getBundle(baseName, locale);

which is the same as

java.util.resourceBundle.getBundle(baseName, locale);

only that we do have the flushable bundle cache.


Example:

<%@page import="org.opencms.jsp.*, org.opencms.file.*, org.opencms.flex.*, java.util.*" %>

<%@ taglib prefix="cmstag" uri="http://www.opencms.org/taglib/cms" %>

<%

org.opencms.i18n.CmsResourceBundleLoader.flushBundleCache();

java.util.ResourceBundle messages = org.opencms.i18n.CmsResourceBundleLoader.getBundle("your_bundle_here", new

java.util.Locale("es"));

%>

<%= messages.getString("test.label1") %>

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox