Pour lire les fichiers de propriétés en Groovy, vous pouvez utiliser la classe utilitaire ConfigSlurper et accéder aux propriétés contenues en utilisant des expressions de GPath. Toutefois, vous devez savoir que ConfigSlurper
ne prend pas en charge les fichiers de propriétés Java standard. Normalement le ConfigSlurper
sera utilisé pour lire les fichiers .groovy qui peuvent être similaires à un fichier de propriétés, mais qui adhèrent à la notation groovy standard, donc les chaînes sont entre guillemets et les commentaires commencent par //
ou se trouvent dans un bloc /* */
. Donc, pour lire un propriétés Java vous fichier devez créer un objet java.util.Properties
et l'utiliser pour créer un ConfigSlurper
:
def props = new Properties()
new File("message.properties").withInputStream {
stream -> props.load(stream)
}
// accessing the property from Properties object using Groovy's map notation
println "capacity.created=" + props["capacity.created"]
def config = new ConfigSlurper().parse(props)
// accessing the property from ConfigSlurper object using GPath expression
println "capacity.created=" + config.capacity.created
Si vous utilisez uniquement le fichier de propriétés à partir du code Groovy, vous devez utiliser la variante de notation Groovy directement. Cela vous donne également de beaux avantages par rapport aux fichiers de propriétés standard, par exemple. au lieu de
capacity.created="x"
capacity.modified="y"
vous pouvez écrire
capacity {
created="x"
modified="y"
}
J'ai une classe séparée ce n'est pas un contrôleur, j'ai essayé ceci et ça ne fonctionne pas ... aucune suggestion? –
@ CPU100 injecter' messageSource' dans cette classe et utiliser le ' La méthode getMessage –
Cela a fonctionné pour moi où je devais passer une valeur dynamique pour le titre: –
Xplora