gwt - 替换 GWT UIBinder XML 文件中的版本号变量

标签 gwt maven uibinder

帮我找到替换 ui.xml 中版本变量的最佳方法

<gwt:HTML>
    <span>Current version: ${version}</span>
</gwt:HTML>

我可以使用 Maven 资源插件吗?像这样:

        <resource>
            <directory>src/main/java</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.ui.xml</include>
            </includes>
        </resource>

我认为 UIBinder 是 GWT 客户端代码的一部分,由 gwt 插件编译。这个插件没有找到我的 ${version} 变量,也没有替换它。

最佳答案

你是对的,UIBinder 模板是 GWT 客户端代码的一部分,并被编译成 JavaScript。

我能想到的公开您的应用运行的版本的唯一方法是:

  1. 将其硬编码在您的客户端代码中的某处,例如,在您的 EntryPoint 类中,作为静态最终常量。
  2. 通过您的托管页面从您的服务器端代码公开它,并通过执行类似于 this article suggests 的操作在您的客户端代码中读取它.
  3. 写一个简单的GWT generator创建一个 UI 小部件,其代码已生成以显示当前版本。这篇文章是对生成器的一般介绍。

可能还有其他的,但这些是我想到的第一个,按照从最少到最多的努力排序。

关于gwt - 替换 GWT UIBinder XML 文件中的版本号变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4431058/

相关文章:

java - 为什么 m2e 插件会构建到 Maven jar 项目的目标文件夹中的 WEB-INF/classes 中?

gwt - 以编程方式将 UiBinder 样式更改为另一个 UiBinder 样式

GWT 布局 : "take up the rest of the space."

html - 在 IE11 兼容模式下禁用 'X mark'

gwt - 如何编写 GWT Designer 可识别的完全自定义小部件?

GWT:如何从 RootPanel 获取对按钮的引用?

java - 如何使用 Maven 导入 Confluence API?

java - servlet 在 GWT 中不工作

java - Maven - exec-maven-plugin - 逗号分隔属性

gwt - 我可以使用枚举值作为 UiBinder 模板中的字段值吗?