Aşağıdaki gibi iki metot eklenirse Managed Bean'den resource mesajlarını alabilirsiniz :
protected ResourceBundle getBundle() {
if (bundle == null) {
FacesContext context = FacesContext.getCurrentInstance();
bundle = context.getApplication().getResourceBundle(context, "msg");
}
return bundle;
}
protected String getMessage(String key, String defaultValue) {
String result = null;
try {
result = getBundle().getString(key);
} catch (MissingResourceException e) {
return defaultValue;
}
return result;
}
gertMessage metoduna key ile resources dosyasından desteklenen Local'e göre bir değer alınabilir.
Metot aşağıdaki gibi parametre alacak şekilde değiştirilebilir. Mesajlarda {0} , {1} şeklinde parametre desteği verilmiş olunur.
protected String getMessage(String key, String defaultValue,
String... parameters) {
String result = null;
try {
result = getBundle().getString(key);
if(result!=null){
return MessageFormat.format(result, parameters);
}else{
return result;
}
} catch (MissingResourceException e) {
return defaultValue;
}
}