【问题标题】:Access i18n properties in production在生产环境中访问 i18n 属性
【发布时间】:2014-05-21 12:41:50
【问题描述】:

我在尝试访问生产中的某些属性文件时遇到了问题,但在开发模式下却没有。

这是我正在使用的 sn-p,它在 dev 模式下工作,但在 prod (tomcat):

this.getClass().getClassLoader().getResourceAsStream("grails-app/i18n/labels_${locale}.properties")

其中 locale 是一个变量,我通过它返回正确的内容。

在生产中,路径不正确,但我不知道如何在生产中访问此属性文件。任何想法?这可能吗?

【问题讨论】:

  • 你为什么要这样访问属性文件?只是想知道,因为可能有更好的方法来获得它们。
  • 我需要获取所有属性才能在 UI 中添加翻译。
  • 您最好使用数据库获取该信息,而不是修改服务器上的属性文件:stackoverflow.com/questions/8297505/…
  • 甚至还有一个很好的带有 UI 的插件:github.com/goeh/grails-i18n-db
  • 我已经在数据库中获得了翻译,但我需要获取此属性的值,然后这些值将被数据库中的值覆盖。

标签: tomcat grails groovy properties-file


【解决方案1】:

尝试在您的服务中注入servletContext,然后您应该能够获取您的文件:

servletContext.getResourceAsStream("/WEB-INF/grails-app/i18n/labels_${locale}.properties")

请注意,在生产中grails-app 文件夹位于WEB-INF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多