12.7. Displaying Locale-Specific Images
Problem
Your Struts application needs to show a graphic image specific to a user's locale.
Solution
Create a property in the locale's resource bundle specifying the path to the image source file. Here's an example from a Spanish locale properties file (ApplicationResouces_es.properties) file:
# spanish language properties img.source.yes=images/es/yes.gif
Use the html:img tag with the
srcKey or pageKey attribute set
to the property key:
<html:img border="0" srcKey="img.source.yes"/>
Discussion
Most production web applications use images extensively. Images are frequently used, in place of text, for buttons and links. In many cases, images are used to create "fancy" buttons, as shown in Figure 12-1.

Figure 12-1. Using images for buttons
If the user speaks Spanish, Figure 12-1 must be
modified since the text message needs to be translated to Spanish and
the "yes" button should be changed
to "sì." The text can be
localized using the bean:message or
fmt:message tag (Recipe 12.6). For the button images, you can use the
html:img to retrieve a locale-specific image and
generate an appropriate HTML img element. The
html:img tag supports two attributes,
srcKey and pageKey, which allow
you to specify a key, to be looked up from a resource bundle. The
bundle's value dictates the path to the file. The
path will be retrieved from the default Struts
MessageResources ...