per leggere i file di proprietà in Groovy è possibile utilizzare la classe di utilità ConfigSlurper e accedere alle proprietà contenute utilizzando espressioni GPath. Tuttavia, è necessario essere consapevoli del fatto che ConfigSlurper
non supporta i file di proprietà Java standard. Normalmente lo ConfigSlurper
verrà utilizzato per leggere i file .groovy che potrebbero essere simili a un file di proprietà, ma aderire alla notazione standard groovy, quindi le stringhe sono all'interno di virgolette e commenti iniziano con //
o sono all'interno di un blocco /* */
. Quindi, per leggere un file di proprietà Java è necessario creare un oggetto java.util.Properties
e l'uso che per creare 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
Se si utilizza solo il file di proprietà all'interno di codice Groovy si dovrebbe utilizzare la variante di notazione Groovy direttamente.
def config = new ConfigSlurper().parse(new File("message.groovy").toURL())
Questo ti dà anche alcuni bei vantaggi rispetto file di proprietà standard, per esempio invece di
capacity.created="x"
capacity.modified="y"
è possibile scrivere
capacity {
created="x"
modified="y"
}
fonte
2010-01-13 13:28:08
Ho una classe separata che non è un controller, ho provato questo e non funziona ... qualche suggerimento? –
@ CPU100 inject' messageSource' in quella classe e usa il ' metodo getMessage'. –
Questo ha funzionato per me dove dovevo passare un valore dinamico per il titolo: –
Xplora