|
FAQ
History |
|
Search
Feedback |
Internationalization Tags
In Internationalizing and Localizing Web Applications we discussed the how to adapt Web applications to the language and formatting conventions of client locales. This section describes tags that support the internationalization of JSP pages.
JSTL defines tags for:
Setting the Locale
The
setLocaletag is used to override the client-specified locale for a page. TherequestEncodingtag is used to set the request's character encoding, in order to be able to correctly decode request parameter values whose encoding is different from ISO-8859-1.Messaging Tags
By default, browser-sensing capabilities for locales are enabled. This means that the client determines (via its browser settings) which locale to use, and allows page authors to cater to the language preferences of their clients.
bundle Tag
You use the
bundletag to specify a resource bundle for a page.To define a resource bundle for a Web application you specify the context parameter
javax.servlet.jsp.jstl.fmt.localizationContextin the Web application deployment descriptor. Here is the declaration from the Duke's Bookstore descriptor:<context-param> <param-name> javax.servlet.jsp.jstl.fmt.localizationContext </param-name> <param-value>messages.BookstoreMessages</param-value> </context-param>message Tag
The
messagetag is used to output localized strings. The following tag fromcatalog.jspis used to output a string inviting customers to choose a book from the catalog.
The
paramsubtag provides a single argument (for parametric replacement) to the compound message or pattern in its parentmessagetag. Oneparamtag must be specified for each variable in the compound message or pattern. Parametric replacement takes place in the order of theparamtags.Formatting Tags
JSTL provides a set of tags for parsing and formatting locale-sensitive numbers and dates.
The
formatNumbertag is used to output localized numbers. The following tag fromshowcart.jspis used to display a localized price for a book. Note that since the price is maintained in the database in dollars, the localization is somewhat simplistic, because the
formatNumbertag is unaware of exchange rates. The tag formats currencies but does not convert them.Analogous tags for formatting dates (
formatDate), and parsing numbers and dates (parseNumber,parseDate) are also available. ThetimeZonetag establishes the time zone (specified via thevalueattribute) to be used by any nestedformatDatetags.In
receipt.jsp, a "pretend" ship date is created and then formatted with theformatDatetag:
|
FAQ
History |
|
Search
Feedback |
All of the material in The J2EE Tutorial for the Sun ONE Platform is copyright-protected and may not be published in other works without express written permission from Sun Microsystems.