boon/src/main/java/org/boon/validation/ValidationContext.java
private String doGetMessageFromBundle( String key ) {

        if ( resourceBundleLocator == null ) {
            return null;
        }
        /* Find the resourceBundle. */
        ResourceBundle bundle = this.resourceBundleLocator.getBundle();

        if ( bundle == null ) {
            return null;
        }


        String message = null; //holds the message

    	/* If the message starts with an i18nMarker look it up
         * in the resource bundle.
    	 */
        if ( key.startsWith( this.i18nMarker ) ) {
            try {
                key = key.substring( 1, key.length() - 1 );
                message = lookupMessageInBundle( key, bundle, message );
            } catch ( MissingResourceException mre ) {
                message = key;
            }
        } else {
            /*
             * If it does not start with those markers see if it has a ".". If
			 * it has a dot, try to look it up. If it is not found then just
			 * return the key as the message.
			 */
            if ( key.contains( "." ) ) {
                try {
                    message = lookupMessageInBundle( key, bundle, message );
                } catch ( MissingResourceException mre ) {
                    message = key;
                }
            } else {
                message = key;
            }
        }
        return message;
    }
private String doGetMessageFromBundle( String key ) {

        if ( resourceBundleLocator == null ) {
            return null;
        }
        /* Find the resourceBundle. */
        ResourceBundle bundle = this.resourceBundleLocator.getBundle();

        if ( bundle == null ) {
            return null;
        }


        String message = null; //holds the message

    	/* If the message starts with an i18nMarker look it up
         * in the resource bundle.
    	 */
        if ( key.startsWith( this.i18nMarker ) ) {
            try {
                key = key.substring( 1, key.length() - 1 );
                message = lookupMessageInBundle( key, bundle, message );
            } catch ( MissingResourceException mre ) {
                message = key;
            }
        } else {
            /*
             * If it does not start with those markers see if it has a ".". If
			 * it has a dot, try to look it up. If it is not found then just
			 * return the key as the message.
			 */
            if ( key.contains( "." ) ) {
                try {
                    message = lookupMessageInBundle( key, bundle, message );
                } catch ( MissingResourceException mre ) {
                    message = key;
                }
            } else {
                message = key;
            }
        }
        return message;
    }
private String doGetMessageFromBundle ( String key ) { if ( resourceBundleLocator == null ) { return null ; } /* Find the resourceBundle. */ ResourceBundle bundle = this . resourceBundleLocator . getBundle ( ) ; if ( bundle == null ) { return null ; } String message = null ; //holds the message
 /* If the message starts with an i18nMarker look it up
         * in the resource bundle.
    	 */ if ( key . startsWith ( this . i18nMarker ) ) { try { key = key . substring ( 1 , key . length ( ) - 1 ) ; message = lookupMessageInBundle ( key , bundle , message ) ; } catch ( MissingResourceException mre ) { message = key ; } } else { /*
             * If it does not start with those markers see if it has a ".". If
			 * it has a dot, try to look it up. If it is not found then just
			 * return the key as the message.
			 */ if ( key . contains ( "." ) ) { try { message = lookupMessageInBundle ( key , bundle , message ) ; } catch ( MissingResourceException mre ) { message = key ; } } else { message = key ; } } return message ; }
The doGetMessageFromBundle does a bit of magic. If the message starts with {
than it assumes it is an i18N message and looks it up in the
resource bundle. If it starts with #{ it assumes it is an expression
and uses OGNL, JSF EL, or the Universal EL to look up the expression
in the context.
The doGetMessageFromBundle does a bit of magic . If the message starts with { than it assumes it is an i18N message and looks it up in the resource bundle . If it starts with # { it assumes it is an expression and uses OGNL JSF EL or the Universal EL to look up the expression in the context .