Est-il possible, avec les regroupements de ressources et MessageFormat, d'avoir le résultat suivant?Test du paramètre null dans le fichier .properties pour MessageFormat
- quand je l'appelle
getBundle("message.07", "test")
pour obtenir"Group test"
- quand je l'appelle
getBundle("message.07", null)
pour obtenir"No group selected"
Chaque exemple que je trouve sur Internet est avec des planètes, avec des fichiers sur le disque et ainsi de suite.
J'ai seulement besoin de vérifier si un paramètre est null
(ou n'existe pas) dans le fichier de propriétés du groupe de ressources. J'espère trouver un format spécial pour le paramètre null quelque chose comme {0,choice,null#No group selected|notnull#Group {0}}
.
La méthode que j'utiliser pour obtenir les faisceaux est:
public String getBundle(String key, Object... params) {
try {
String message = resourceBundle.getString(key);
if (params.length == 0) {
return message;
} else {
return MessageFormat.format(message, params);
}
} catch (Exception e) {
return "???";
}
}
Je demande également cette méthode pour d'autres faisceaux, comme
getBundle("message.08", 1, 2)
=>"Page 1 of 2"
(toujours les paramètres, pas besoin de vérifiernull
)getBundle("message.09")
=>"Open file"
(aucun paramètre, pas besoin de vérifiernull
)
Que dois-je écrire dans mon fichier .properties pour message.07
pour avoir le résultat décrit?
Ce que je commence maintenant:
message.07=Group {0}
message.08=Page {0} of {1} # message with parameters where I always send them
message.09=Open file # message without parameters
Vérifiez mes modifications. –
Il semble que la réponse à ma question est qu'il n'y a pas de format spécial pour un 'String' passé à' MessageFormat' pour vérifier si un paramètre est 'null'. –