Create and using a resource bundle in the tools framework

To create and use a resource bundle within the tools framework:

  1. Create a properties file and save it in the following directory:

    • WC_eardir/properties/com/ibm/commerce/tools/utf/properties

    • workspace_dir\installedApps\ cell\ WC_instance.ear\properties\com\ibm\commerce\tools\utf\properties

  2. Open the resources.xml file from:

    and add the following line:

    <resourceBundle name="name"
    bundle="com.ibm.commerce.tools.properties.
    filename_with_no_extension" />
    

    Where name is the name you want to use to refer to the bundle throughout your code and filename_with_no_extension is the filename for your properties file without the .properties extension.

To use a resource string (from a resource bundle) in your code:

  1. Retrieve your properties file using the following command
    Hashtable myResource = (Hashtable)
    com.ibm.commerce.tools.util.ResourceDirectory.lookup(String
    resourceName,
    Locale locale)
    

    Where resourceName is namespace.resource_name.

  2. Use the following command to retrieve the required information from the hashtable:
    String resource = (String)myResource.get("<resource key>");
    

The following is an example of how to retrieve a resource string to be used in your JSP file:

<%@include file="../common/common.jsp" %>
<%
CommandContext commandContext =
(CommandContext)request.getAttribute(ECConstants.EC_COMMANDCONTEXT);
Locale locale = commandContext.getLocale();
Hashtable resourceBundle = (Hashtable)
ResourceDirectory.lookup("common.mccNLS", locale);
%>
.....
.....
.....
<table CELLPADDING="0" CELLSPACING="0" BORDER="0" HEIGHT="100%"
WIDTH="100%">
<tr>
<td><table CELLPADDING="0" CELLSPACING="0" BORDER="0"
WIDTH="100%"
HEIGHT="1%">
<tr>
<td
class="entry_space">&nbsp;&nbsp;&nbsp;</td>
<td class="entry_text"><%=
resourceBundle.get("paragraph1") %></td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td
class="entry_space">&nbsp;&nbsp;&nbsp;</td>
<td class="entry_text"><%=
resourceBundle.get("paragraph2") %></td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td
class="entry_space">&nbsp;&nbsp;&nbsp;</td>
<td class="entry_text"><%=
resourceBundle.get("paragraph3") %></td>
</tr>
</table>

There is a requirement for WebSphere Commerce tools to be encoded in UTF-8. All tools pages (JSP files) include the common.jsp file to set the servlet response parameters, which includes:

response.setContentType("text/html;charset=UTF-8");

One frequently implemented task in store-related tooling in WebSphere Commerce is the creation of a language selection drop-down list. A selection determines the language, encoding, and cultural formatting preference of the user.

Related concepts

Globalized tools framework
Cultural considerations
Localized store assets

Related tasks

Create a globalized store
Use resource bundles in store pages

Related reference

Globalization tips
massload utility (Server environment)