4

我想创建另一个资源包来组织我的 Grails 应用程序。Grails 提供了一个“消息”资源包,我需要创建一个“myApp”资源包。

如何使用“g:message”GSP 标签创建新资源包并读取其属性?

4

3 回答 3

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):

于 2009-10-06T09:01:58.563 回答
8

Grails(从 1.0.3 版开始)会自动将目录中的所有属性文件添加grails-app/i18n到资源包中。无需手动添加它们:)

于 2010-01-14T16:25:50.767 回答
5

从 Grails 1.3.4 开始,添加到grails-app/i18n目录的任何属性文件都将添加到messageSource.

此外,如果您尝试手动添加 bean(及其下的基本名称),当您进入生产环境时,它不会加载它们。它将在开发模式下工作(测试在 IDEA 9.0.3 和 tomcat 插件 v1.3.4 上运行),但不能在生产模式下工作。

这发生在我遵循@rochb 提供的答案之后(我检查了答案并在尝试简单方法之前实现了),我必须删除 messageSource bean 配置才能更正它。

于 2010-10-13T21:27:02.463 回答