grails - Grails-在il8n消息中使用的访问属性

标签 grails gsp

我正在构建一个将il8n消息属性文件用于多种语言的应用程序。

但是,该应用必须可配置为显示不同的客户端名称,例如“查看您的[客户端应用程序名称]配置文件”,显然,如果不为每个客户端生成单独的.war,则无法在il8n消息文件中对其进行硬编码。

一种解决方案是让客户端在外部.properties或.groovy文件中定义名称,将硬编码的il8n字符串存储为“Manage your {0} profile”,并将名称作为grails消息参数传递,例如

但是,对类似问题的答复说,不建议从.gsps调用属性:

Grails - how to access properties file from GSP

我知道理想情况下应该从 Controller 内部检索属性,然后将其传递给 View gsp,但是从每个 Controller 和 View 方法传递客户端可配置的属性似乎过多,尤其是因为在外部.groovy中设置了多个客户端定义的术语或.properties文件。

那么,什么是更好/合适的方式呢?

谢谢

最佳答案

听起来您已经有了客户端配置的概念。这应该是一个外部配置文件。该文件的内容应由服务读取(在应用程序启动时加载),然后您可以创建一个标记库,该标记库从服务中获取这些值(认为键/值对),以供您在GSP和消息代码中使用。使用服务,您还可以在应用程序的其他位置( Controller 或其他服务)使用它。

这就是您应该采用的方法。

关于grails - Grails-在il8n消息中使用的访问属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32015622/

相关文章:

grails - 在gsp grails中设置字段的值

grails - 无法运行Grails ACL插件:创建名称为 'afterAclCollectionRead'的bean时出错

java - 找不到 : java. time.LocalDate() 的匹配构造函数

Grails 过滤器与拦截器

grails - 如何从类中获取静态枚举

jquery - 从 Controller 修改gsp中的表

hibernate - 为什么在 Grails 中唯一受限的字段在更新时失败

search - Grails可搜索的搜索BigDecimal范围

javascript - Grails gsp 等待数据在 div 中显示

grails - Grails 3.3.2访问自定义元约束