Grailsアプリを整理するための別のリソースバンドルを作成したいと思います。Grailsは「メッセージ」リソースバンドルを提供し、「myApp」リソースバンドルを作成する必要があります。
新しいリソースバンドルを作成し、「g:message」GSPタグを使用してそのプロパティを読み取るにはどうすればよいですか?
Grailsアプリを整理するための別のリソースバンドルを作成したいと思います。Grailsは「メッセージ」リソースバンドルを提供し、「myApp」リソースバンドルを作成する必要があります。
新しいリソースバンドルを作成し、「g:message」GSPタグを使用してそのプロパティを読み取るにはどうすればよいですか?
デフォルトの MessageSource をオーバーライドする Bean をgrails-app/conf/spring/resources.groovyに作成する必要があります。
// Place your Spring DSL code here
beans = {
messageSource(org.springframework.context.support.ReloadableResourceBundleMessageSource) {
basename = "classpath:grails-app/i18n/myApp"
}
}
注: Grails をカスタマイズする必要がある場合は、次のリンクを使用して Spring フレームワーク (特に Spring-MVC) に慣れることをお勧めします。
Grails (バージョン 1.0.3 以降) は、grails-app/i18n
ディレクトリにあるすべてのプロパティ ファイルをリソース バンドルに自動的に追加します。手動で追加する必要はありません:)
grails-app/i18n
Grails 1.3.4 以降、ディレクトリに追加されたすべてのプロパティ ファイルはmessageSource
.
さらに、Bean (およびその下のベース名) を手動で追加しようとすると、実稼働環境に入ったときにそれらがロードされません。開発モード (IDEA 9.0.3 および tomcat プラグイン v1.3.4 で実行してテスト済み) では動作しますが、プロダクション モードでは動作しません。
これは、@rochb から提供された回答に従った後に発生し (簡単な方法を試す前に回答を確認して実装しました)、修正するために messageSource Bean 構成を削除する必要がありました。