Comment puis-je obtenir un message bundle chaîne à partir de l'intérieur d'un managed bean?

Je voudrais être en mesure de récupérer une chaîne de caractères à partir d'un message faisceau à l'intérieur de la JSF 2 managed bean. Ce serait le cas dans les situations où la chaîne est utilisée comme le résumé ou les détails de ce paramètre dans une FacesMessage ou que le message de la levée d'une exception.

Je veux faire en sorte que le managed bean charge le message correct bundle pour la locale de l'utilisateur. Il n'est pas clair pour moi comment faire cela dans un managed bean en utilisant JSF appels d'API.

Ma configuration est:

  • Utilisant Tomcat 7 comme le récipient de sorte que la solution ne peut pas compter sur les appels d'API, qui ne fonctionnent que dans un serveur d'application conteneur
  • À l'aide de la JSF 2 implémentation de référence (Mojarra)
  • Ne PAS utiliser toutes les bibliothèques qui permettent CDI

REMARQUE: je ne vois cette question similaire, mais cela dépend des fonctionnalités qui sont disponibles dans ma configuration

EDIT: j'ai fait une erreur dans ma question initiale. Ce que je voulais dire était: "Comment puis-je obtenir un ressources bundle chaîne à partir de l'intérieur d'un bean géré"? BalusC m'a donné la réponse correcte pour ce que j'ai demandé. La solution pour ce que je voulais dire est très similaire:

public static String getResourceBundleString(
            String resourceBundleName,
            String resourceBundleKey)
        throws MissingResourceException {
    FacesContext facesContext = FacesContext.getCurrentInstance();
    ResourceBundle bundle = 
        facesContext.getApplication().getResourceBundle(
            facesContext, resourceBundleName);
    return bundle.getString(resourceBundleKey);
}

Aussi, voici un lien vers une autre question qui explique la différence entre "message" faisceaux et "ressources" faisceaux.

InformationsquelleAutor Jim Tough | 2011-06-08