尽管之前已经针对更旧版本的 grails 提出过这个或类似的问题,但我想知道从application.yml
现代 grails 4.0.3 的 grails 域类中访问配置值的最佳方法是什么。
所以,假设我们有一个voucher.groovy
赞
class Voucher implements HibernateEntity<Voucher> {
...
Date reservedAt
static transients = ['validUntil']
Date getValidUntil() {
Integer expirationTime = // TODO: fill in the configuration value
DateTime expirationDateTime = new DateTime(this.reservedAt)
.plusDays(expirationTime)
.withHourOfDay(23)
.withMinuteOfHour(59)
.withSecondOfMinute(59)
.withMillisOfSecond(999)
return expirationDateTime.toDate()
}
}
voucher.expirationTime
和我们application.yml
喜欢的配置值
...
voucher.expirationTime: 10
...
如何在我的getValidUntil()
方法中访问配置值?
编辑
正如@JeffScottBrown 在他的评论中提到的那样,您不应该访问域类中的配置值。所以我最终得到了他建议的使用自定义 gsp 标签的方法。(请看下面的答案)