我想创建另一个资源包来整理我的Grails应用。 Grails提供了一个'messages'资源包,我需要创建一个'myApp'资源包。
如何创建新的资源包并使用'g:message'GSP标记读取其属性?
答案 0 :(得分:9)
您必须在 grails-app / conf / spring / resources.groovy 中创建一个bean,它将覆盖默认的MessageSource。
// Place your Spring DSL code here
beans = {
messageSource(org.springframework.context.support.ReloadableResourceBundleMessageSource) {
basename = "classpath:grails-app/i18n/myApp"
}
}
注意: 如果您需要自定义Grails,我可以给您的唯一建议是通过以下链接熟悉Spring框架(特别是Spring-MVC):
答案 1 :(得分:7)
Grails(从1.0.3版开始)会将grails-app/i18n
目录中找到的所有属性文件自动添加到资源包中。无需手动添加它们:)
答案 2 :(得分:4)
从Grails 1.3.4开始,添加到grails-app/i18n
目录的所有属性文件都将添加到messageSource
。
此外,如果您尝试手动添加bean(及其下的基本名称),当您进入生产环境时,它将不会加载它们。它将在开发模式下运行(测试运行IDEA 9.0.3和tomcat插件v1.3.4),但不在生产模式下。
在按照@rochb提供的答案(我检查了答案并在尝试简单方法之前实现)之后发生了这种情况,我不得不删除messageSource bean配置以便纠正它。