Home | Download | PDF | API | FAQ | Search | Feedback | History

> ## Registering Custom Error Messages

> If you create custom error messages (which are displayed by the `message` and `messages` tags) for your custom converters or validators, you must make them available at application startup time. You do this in one of two ways: by queuing the message onto the `FacesContext` instance programmatically (as described in Performing Localization, page 392) or by registering the messages with your application using the application configuration resource file.

> Here is the part of the file that registers the messages for the Duke's Bookstore application:

>     <application>
>       <message-bundle>
>         com.sun.bookstore6.resources.ApplicationMessages
>       </message-bundle>
>       <locale-config>
>         <default-locale>en</default-locale>
>         <supported-locale>es</supported-locale>
>         <supported-locale>de</supported-locale>
>         <supported-locale>fr</supported-locale>
>       </locale-config>
>     </application>

> This set of elements will cause your `Application` instance to be populated with the messages contained in the specified `ResourceBundle`.

> The `message-bundle` element represents a set of localized messages. It must contain the fully qualified path to the `ResourceBundle` containing the localized messages--in this case, `resources.ApplicationMessages`.

> The `locale-config` element lists the default locale and the other supported locales. The `locale-config` element enables the system to find the correct locale based on the browser's language settings. Duke's Bookstore manually sets the locale and so it overrides these settings. Therefore, it's not necessary to use `locale-config` to specify the default or supported locales in Duke's Bookstore.

> The `supported-locale` and `default-locale` tags accept the lower-case, two-character codes as defined by ISO-639 (see `http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt`). Make sure that your `ResourceBundle` actually contains the messages for the locales that you specify with these tags.

> To access the localized message, the application developer merely references the key of the message from the resource bundle. See Performing Localization (page 392) for more information.