J'ai un site Web Java/JSF existant tout le texte à l'écran provient des fichiers de propriétés via < f: loadBundle basename = "org.example.applicaltion" var = "applicaltion"/> qui extrait le texte de applicaltion.properties.Comment remplacer certaines ressources d'un PropertyResourceBundle
Pour un sous-ensemble configurable à l'exécution de ceux-ci je veux tirer la chaîne d'ailleurs où (CMS via des services Web). En regardant la classe ResourceBundle, il semble avoir un infrastructure pour quelque chose de proche avec une délégation à un ResourceBundle parent.
Je suis désireux somethis comme ce
public class Applicaltion extends ResourceBundle{
@Override
protected Object handleGetObject(String key) {
if(overridenKey(key)){
return overridedValue(key);
}
return null; // ResourceBundle.getObject will delegate to parent
// if we return null
}
}
Je l'ai essayé et parent est nul, je suppose que cela est plus utilisé pour le cas de défaut -> fr -> en_GB.
Je considère le pas très attrayante possibilité de voir le fichier de propriété un nom différent de la coutume resourceBundle puis déléguer à travers la pile complète de ResourceBundle.getBundle (PROPERTY_FILE_NAME) .getString (clé) de l'intérieur CustomResourceBundle.handleGetObject (clé).
De meilleures idées?
Je suis toujours à la recherche d'une meilleure réponse à celui-ci, j'accepterai ma propre réponse si je ne reçois pas une meilleure réponse d'ici la fin mars. –