【问题标题】:Using different UiBinder @UiTemplate files depending on module property根据模块属性使用不同的 UiBinder @UiTemplate 文件
【发布时间】:2012-04-24 02:25:14
【问题描述】:

我可以使用<replace-with> 标签根据我的 GWT 模块文件中设置的属性来换出一个类的不同实现。太好了 - 我喜欢它。

但是:我在formfactor="mobile"formfactor="desktop" 之间的观点的所有不同之处在于我使用的 ui.xml 文件——甚至 java 文件都是相同的。所以,类交换是不够的——我不想复制 Java 文件来获得不同的类。

如何使用属性来影响作为 UiBinder 模板加载的 ui.xml 文件?

注意:我目前正在使用一种解决方法来计算 Java 中的模块属性应该,并在加载适当 ui 的 switch 语句中使用该属性.xml 文件。这是不可取的,因为:

  • 代码重复 - 我必须在模块文件和 java 代码中计算属性
  • 每个排列都必须编译每个 ui.xml 文件,以便在运行时选择正确的文件。我更喜欢编译时解决方案。

【问题讨论】:

  • 这些属性是静态的还是在运行时确定的?
  • 它们是在编译时确定的。不过,我什至不知道如何直接从我的 Java 代码中引用 GWT 属性 - 它是在 GWT.create 中自动完成的,我不知道是否可以为其他目的复制该功能

标签: gwt uibinder


【解决方案1】:

我认为,您必须编写自己的generator,它将提供不同的 ui 活页夹模板。可能你可以重载方法deduceTemplateFile() in UiBinderGenerator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 2019-09-01
    • 2019-06-09
    相关资源
    最近更新 更多