【发布时间】:2012-12-01 00:40:19
【问题描述】:
在我的 config.groovy 中我设置了 ..
emailTo="admin@xzyz.com"
emailForm="notification@oabc.com"
但我想要一些灵活性。我可以在我的项目运行表单属性文件时更改它吗?请帮忙
【问题讨论】:
标签: grails configuration dependency-properties config configuration-files
在我的 config.groovy 中我设置了 ..
emailTo="admin@xzyz.com"
emailForm="notification@oabc.com"
但我想要一些灵活性。我可以在我的项目运行表单属性文件时更改它吗?请帮忙
【问题讨论】:
标签: grails configuration dependency-properties config configuration-files
是的,您也可以使用.property 文件,默认情况下,Grails 会在以下位置查找属性:
${appName}-config.properties
~/.grails/${appName}-config.properties
看看你的Config.groovy的前几行,你可以把任何其他的路径放到你自己的.properties
另见http://grails.org/doc/2.1.0/guide/conf.html#configExternalized
【讨论】:
我相信有一个插件可以支持在外部配置文件更改时动态重新加载它们,但从概念上讲,如果这是应该在运行时修改的数据,那么将其表示为域对象并存储可能会更好它在数据库中。
我在多个项目中使用这种方法,定义了一个领域类
class AppConfiguration {
String adminEmail
String appTitle
// etc
}
并确保数据库中始终只有一个实例,如果 BootStrap 不存在,则在其创建初始实例。现在,在需要此配置数据的应用程序中的任何地方,我只需执行 AppConfiguration.list()[0]
我只是对编辑页面使用动态脚手架,这些页面仅限于管理员用户通过 Spring Security 访问。
【讨论】: