【问题标题】:How can I access messages in a JavaScript template in Play! Framework?如何在 Play 中访问 JavaScript 模板中的消息!框架?
【发布时间】:2011-12-13 14:30:43
【问题描述】:

我有一个模板public/js/templates/info.html:

<div class="info">
    <div class="button">&{'info.close'}</div>
    <div class="info-title"><%= title %></div>
    <div class="info-text"><%= description %></div>
</div>  

&amp;{'info.close'} 应该从消息中打印“关闭信息”文本 - 但在网页中我看到“&{'info.close'}”。

这在 html 视图中完美运行,但不适用于模板。我正在使用backbone.js/underscore.js附带的JavaScript模板。

我怎样才能做到这一点?

【问题讨论】:

    标签: java javascript html templates playframework


    【解决方案1】:

    您可以使用i18n tag

    【讨论】:

    • 我试过了,在 js 文件中效果很好,但是 tmpl 是存储在 html 文件中的 html 片段。
    • 如果它是由 javascript 本身加载的,那么你应该尝试 这些标签中的所有内容都应该作为 javascript 处理
    【解决方案2】:

    公共目录中的资源被视为静态数据项。 Play 不会通过模板引擎处理它们,而是按原样提供。

    如果您想使用包括国际化 javscript 文件在内的动态数据,您有几个选择。

    1. 从您的 javascript 中将国际化消息数据加载为 JSON 响应
    2. 在视图中定义模板,而不是在单独的文件中
    3. 通过控制器操作加载文件,就像它是任何其他视图一样

    您的具体要求将决定哪种方法适合您的应用程序。

    【讨论】:

      猜你喜欢
      • 2017-06-04
      • 2015-08-23
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多