2011-08-15 48 views
2

我已經添加了以下參數Config.groovy閱讀Grails的配置參數

storeFront.cms.endpoint = "http://10.60.33.51:27110/file_source" 

我想讀它使用:

ConfigurationHolder.config('storeFront.cms.endpoint') 

我讀的地方,配置參數應該用讀grailsApplication變量在taglibs和控制器中可用,但在我的情況下,我試圖從src/groovy下的類中讀取它。

當應用程序啓動時出現錯誤:

groovy.lang.MissingMethodException: No signature of method: groovy.util.ConfigObject.call() 
is applicable for argument types: (java.lang.String) values: [storeFront.cms.endpoint] 

回答

4

難道不應該是:

ConfigurationHolder.config.storeFront.cms.endpoint 

,是的ConfigurationHolder Grails的2.0

+0

不贊成任何想法是什麼,我們」當'grailsApplication'不可用時,是否應該使用而不是'ConfigurationHolder'? –

+1

建議您使用'def grailsApplication'注入方法。然而,我不相信'src/java'或'src/groovy'中的類會發生這種注入,所以我想你必須從您調用的controller/service/etc中傳入'grailApplication'實例代碼? –

+0

將'grailsApplication'或config傳遞給src/groovy類 - 必須從可訪問這些類的工件中調用它。 –