【发布时间】: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 中自动完成的,我不知道是否可以为其他目的复制该功能