FacesContext facesContext = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession)facesContext.getExternalContext().getSession(true);
String sessionId = session.getId();
SoftReference<LocaleBean> weakReference = localeBeanMap.get(sessionId);
LocaleBean localeBean = weakReference != null ? weakReference.get() : null;
if(localeBean == null) {
localeBean = (LocaleBean)getBean(LocaleBean.class, "#{localeBean}");
if(localeBean != null) {
localeBeanMap.put(sessionId, new SoftReference<LocaleBean>(localeBean));
}
}
String message = "???";
if(localeBean != null) {
message = localeBean.getString(key);
}
return message != null ? message : "???";
}