Ich habe eine bestehende Java/JSF-Website alle den Text auf dem Bildschirm kommt aus Eigenschaft Dateien über <f:loadBundle basename="org.example.applicaltion" var="applicaltion" /> die den Text aus applicaltion.properties zieht.
Für eine zur Laufzeit konfigurierbare Teilmenge davon möchte ich die Zeichenfolge von einem anderen Ort beziehen (CMS über Webdienste). Blick auf die ResourceBundle-Klasse scheint es eine Infrastruktur für etwas in der Nähe von diesem mit Delegation an eine übergeordnete ResourceBundle haben.
Ich wünsche mir etwas in dieser Art
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
}
}
Ich habe dies versucht und Elternteil ist Null, ich nehme an, dies ist mehr für den Fall der Standard -> en -> en_GB verwendet.
Ich erwäge die nicht sehr ansprechende Option der haben die Eigenschaft Datei einen anderen Namen aus der benutzerdefinierten resourceBundle und dann delegieren durch den vollen Stapel von ResourceBundle.getBundle(PROPERTY_FILE_NAME).getString(key) von innerhalb CustomResourceBundle.handleGetObject(key).
Haben Sie eine bessere Idee?