我正在使用Grails
和GWT
为客户端开发应用。
我想在客户端和服务器端使用相同的date format
(最好在一个文件中定义)。
到目前为止,我已经明白Grails有自己的国际化机制(grails-app/i18n
)。我知道我可以使用应用程序上下文从任何服务器代码访问这些消息。
我还可以访问web-app
目录中的任何资源文件。
对于客户端,我可以使用ConstantsWithLookup
界面和GWT.Create(...)
来获取它的实例。
但是,我仍然没有找到将这两者集成在一起的好解决方案,所以我在一个地方定义了date format
。任何想法或提示?
谢谢, 塞吉
答案 0 :(得分:0)
在深入了解Grails后,我找到了解决方案。
我已将常量放入.properties
下的grails-app/i18n
文件中。
然后,我挂钩eventCompileEnd
并将资源从grails-app/i18n
复制到target\generated-sources
中的特定包。
完成此步骤后,我使用复制的属性文件生成谷歌I18N接口。
我已将此功能用于单独的插件。
<强> _Events.groovy 强>:
includeTargets << new File("${myPluginDir}/scripts/_MyInternal.groovy")
eventCompileEnd = {
internalCopyMessageResources();
}
eventCopyMessageResourcesEnd = {
generateI18NInterface();
}
现在可以从服务器端和客户端访问本地化数据。