Đối với đọc file tài sản trong Groovy bạn có thể sử dụng lớp tiện ích ConfigSlurper và truy cập vào các thuộc tính chứa sử dụng biểu thức GPath. Tuy nhiên, bạn phải lưu ý rằng ConfigSlurper
không hỗ trợ các tệp thuộc tính Java chuẩn. Thông thường, ConfigSlurper
sẽ được sử dụng để đọc các tệp .groovy có thể tương tự như tệp thuộc tính, nhưng tuân thủ ký hiệu groovy chuẩn, do đó, các chuỗi bên trong dấu ngoặc kép và các chú thích bắt đầu bằng //
hoặc nằm trong khối /* */
. Vì vậy, để đọc một tập tin thuộc tính Java bạn cần tạo một đối tượng java.util.Properties
và sử dụng để tạo ra một 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
Nếu bạn chỉ sử dụng các tập tin tài sản từ bên trong mã Groovy bạn nên sử dụng các biến thể ký hiệu Groovy trực tiếp.
def config = new ConfigSlurper().parse(new File("message.groovy").toURL())
Điều này cũng mang lại cho bạn một số lợi thế tốt đẹp so với tệp thuộc tính chuẩn, ví dụ: thay vì
capacity.created="x"
capacity.modified="y"
bạn có thể viết
capacity {
created="x"
modified="y"
}
Nguồn
2010-01-13 13:28:08
Tôi có một lớp riêng biệt nó không phải là một bộ điều khiển, tôi đã thử điều này và nó không hoạt động ... bất cứ đề nghị nào? –
@ CPU100 tiêm' messageSource' vào lớp đó và sử dụng ' Phương thức getMessage' –
Điều này làm việc cho tôi nơi tôi phải chuyển một giá trị động cho Tiêu đề: –
Xplora