tomcat - 在生产环境中访问 i18n 属性

标签 tomcat grails groovy properties-file

我在尝试访问生产模式而非开发模式下的某些属性文件时遇到问题。

这是我正在使用的代码片段,它在开发模式下工作,但在生产环境 (tomcat) 中工作:

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

其中 locale 是我传递的用于返回正确内容的变量。

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

最佳答案

尝试在您的服务中注入(inject) servletContext,然后您应该能够通过以下方式获取您的文件:

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

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

关于tomcat - 在生产环境中访问 i18n 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22943471/

相关文章:

grails - 如何在一个域类中混合映射的 'Reference'和列出的 'No Reference' hasMany关系?

grails - 为main.gsp布局指定一个 Controller

基于 Java Regex 的字符串替换

java - Java 类中完整描述的 EhCache 复制不起作用

java - 尽管我设置了自己的 logging.properties,但所有内容仍会记录到 catalina.out。如何停止?

database - 将 Tomcat 参数传递给 Docker

groovy - Groovy 中是否自动定义了访问器/修改器?

java - 为什么 JNDI 返回带有 NULL uri 的数据源而不是查找失败?

grails - Grails 2.x 模式导出或类似命令能否为给定数据源的模式更新生成 DDL?

java - 使用 Java 11 在 groovyconsole 中执行脚本会生成缺少 JAXB 依赖项异常