The Java EE 5 Tutorial

Using FacesMessage to Create a Message

Instead of registering messages in the application configuration resource file, you can access the ResourceBundle directly from the code. The validateEmail method from the Coffee Break example does this:

String message = "";
message = CoffeeBreakBean.loadErrorMessage(context,
    new FacesMessage(message));

These lines also call the loadErrorMessage to get the message from the ResourceBundle. Here is the loadErrorMessage method from CoffeeBreakBean:

public static String loadErrorMessage(FacesContext context,
     String basename, String key) {
    if ( bundle == null ) {
         try {
            bundle = ResourceBundle.getBundle(basename,
        } catch (Exception e) {
            return null;
    return bundle.getString(key);