Using ResourceBundles (without having to restart container)
Marc.johnen (Talk | contribs) |
Marc.johnen (Talk | contribs) |
||
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 | + | 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: | ||
− | |||
− | |||
− | <%@ 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> |
− | + | ||
− | + | ||
− | + | ||
+ | <nowiki>%></nowiki> | ||
− | <%= messages.getString("test.label1") %> | + | <nowiki><%= messages.getString("test.label1") %></nowiki> |
− | </nowiki> | + |
Revision as of 20: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") %>