Ich habe eine bestehende Java/JSF-Website der gesamte Text auf dem Bildschirm stammt aus Property-Dateien über < f: loadBundle basename = "org.example.applicationtion" var = "application"/>, die den Text aus application.properties zieht.So überschreiben Sie einige Ressourcen von einem PropertyResourceBundle
Für eine Laufzeit konfigurierbare Untermenge von diesen möchte ich die Zeichenfolge von wo sonst ziehen (CMS über Web-Services). Wenn man sich die ResourceBundle-Klasse anschaut, scheint es, als hätte man einen Infrastruktor für etwas, das diesem nahe kommt, mit Delegierung an einen übergeordneten ResourceBundle.
Ich wünsche somethis wie diese
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
}
}
habe ich versucht, diese und Eltern ist null, ich nehme an, dies für den Fall des Ausfalls mehr verwendet -> de -> de_DE.
Ich erwäge die nicht sehr ansprechende Option, die Eigenschaftsdatei einen anderen Namen als das benutzerdefinierte resourceBundle zu haben und dann über den gesamten Stack von ResourceBundle.getBundle (PROPERTY_FILE_NAME) .getString (key) aus CustomResourceBundle.handleGetObject (key).
Irgendwelche besseren Ideen?
Ich bin immer noch auf der Suche nach einer besseren Antwort, ich werde meine eigene Antwort akzeptieren, wenn ich bis Ende März keine bessere Antwort bekomme. –