dan*_*anb 36 configuration grails runtime
在Config.groovy中我看到了这个:
// set per-environment serverURL stem for creating absolute links
environments {
production {
grails.serverURL = "http://www.changeme.com"
}
}
Run Code Online (Sandbox Code Playgroud)
在运行时访问它的正确方法是什么?
khy*_*ylo 74
在最新版本的Grails中,不推荐使用ConfigurationHolder.
相反,您应该使用grailsApplication对象.
grailsApplication.config.grails.serverURL
Run Code Online (Sandbox Code Playgroud)
如果在Controller或Service中,则使用grailsApplication对象的依赖注入.例如
class MyController{
def grailsApplication
def myAction() {
grailsApplication.config.grails.serverURL
}
Run Code Online (Sandbox Code Playgroud)
Rob*_*her 31
丹布走在正确的轨道上.但是,如果您进行更好的导入,生活会变得更容易:
import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH
println CH.config.grails.serverURL
Run Code Online (Sandbox Code Playgroud)
dan*_*anb 14
这里是:
import org.codehaus.groovy.grails.commons.ConfigurationHolder
println ConfigurationHolder.config.grails.serverURL
Run Code Online (Sandbox Code Playgroud)
或者,在控制器和标签中,显然这将起作用:
grailsApplication.config.grails.serverURL
Run Code Online (Sandbox Code Playgroud)
我在BootStrap中需要它,所以选项1是我需要的.
jst*_*ker 10
正如一些评论中所提到的,另一个选项是grails.utils.Holders
在Grails 2.0中添加的类.我更喜欢这种方法,因为您可以在未配置依赖注入的类中使用它.
import grails.util.Holders
class Foo {
def bar() {
println(Holders.config.grails.serverURL)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28685 次 |
最近记录: |