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