【问题标题】:GWT: Inject Meta Tag RuntimeGWT:注入元标记运行时
【发布时间】:2015-06-12 20:18:16
【问题描述】:

我正在尝试实现 GWT 国际化,但 locale 属性是基于用户配置的。

我已尝试在索引文件中注入以下标记以设置语言环境属性:

meta name="gwt:property" content="locale=es"

但是,如何在运行时正确设置属性?

【问题讨论】:

  • 你是如何“注入”这个元标记的?是在 GWT 模块加载之后还是之前?
  • 嗨。 GWT 模块加载后。

标签: gwt


【解决方案1】:

第三种选择是动态读取 html 文件元标记中的用户区域设置,因此 加载 GWT:

<meta name="gwt:property" content="locale=<%=request.getLocale()%>"

【讨论】:

    【解决方案2】:

    遗憾的是,您无法在运行时翻译您的应用程序,除非重新加载应用程序,否则您需要下载另一个排列。

    所以你只剩下两个标准选项

    元标记

    使用您已经知道的元标记呈现网站

    <html>
      <head>
        <meta name="gwt:property" content="locale=es">
      </head>
      <body>
        <!-- Load the GWT compiled module code                           -->
        <script src="com.google.gwt.examples.i18n.ColorNameLookupExample.nocache.js " />
      </body>
    </html>
    

    查询字符串

    您只需要使用locale 加载应用程序

    http://www.example.org/myapp.html?locale=es
    

    这里是example,介绍如何选择语言环境并重新加载应用程序。

    有限支持,仅影响货币数据、数字格式和日期/时间格式。查看更多关于here

    【讨论】:

    • 绝对:在服务器上“注入”您的元标记,使用 JSP 或您可能使用的任何模板。
    【解决方案3】:

    您可以创建一个 jsp 文件作为欢迎页面。然后你可以将你的 html 内容嵌入到这个文件中。顺便也可以配置下一行。

    <meta name="gwt:property" content="locale=<%=request.getLocale()%>">
    

    【讨论】:

      猜你喜欢
      • 2012-02-27
      • 2018-04-22
      • 2011-11-04
      • 2021-02-08
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多