1

在我的 config.groovy 中,我设置了 ..

emailTo="admin@xzyz.com" emailForm="notification@oabc.com"

但我想要一些灵活性。我可以在我的项目运行表单属性文件时更改它吗?请帮忙

4

2 回答 2

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

于 2012-12-13T09:46:30.110 回答
1

我相信有一个插件可以在外部配置文件更改时支持动态重新加载,但从概念上讲,如果这是应该在运行时修改的数据,那么将其表示为域对象并将其存储在数据库。

我在许多项目中使用这种方法,定义了一个领域类

class AppConfiguration {
  String adminEmail
  String appTitle
  // etc
}

并确保数据库中始终只有一个实例,BootStrap如果它尚不存在,则在其中创建一个初始实例。现在在需要此配置数据的应用程序中的任何地方,我只是做AppConfiguration.list()[0]

我只是对编辑页面使用动态脚手架,这些页面仅限于管理员用户通过 Spring Security 访问。

于 2012-12-13T10:03:29.027 回答