在没有重新部署/重新启动的生产环境中,可以修改message.properties中的文本。
答案 0 :(得分:3)
这很有可能,但您需要使用ReloadableResourceBundleMessageSource
替换默认的messageSource bean。您可以通过在grails-app / conf / spring / resources.groovy中配置新的messageSource bean定义来完成此操作,如下所示:
beans = {
messageSource(org.springframework.context.support.ReloadableResourceBundleMessageSource) {
basenames = ["classpath:grails-app/i18n/myApp", "file:grails-app/i18n/messages", "WEB-INF/grails-app/i18n/messages"]
}
}
以上内容适用于开发和生产。您可能还想使用ReloadableResourceBundleMessageSource来研究其他可用选项。
答案 1 :(得分:2)
如果使用默认的messageSource
bean,则无法执行此操作。如果要执行此操作,可以选择将消息存储在数据库中而不是属性文件中。以下是一些支持此功能的插件(我自己从未使用过任何一个插件)
或者,将默认的messageSource
bean替换为支持重新加载的bean,例如: ReloadableResourceBundleMessageSource
。