我可以<replace-with>
根据 GWT 模块文件中设置的属性使用标签来换出类的不同实现。太好了——我喜欢它。
但是:我的观点formfactor="mobile"
和formfactor="desktop"
我使用的 ui.xml 文件之间的所有不同之处 - 甚至 java 文件都是相同的。所以,类交换是不够的——我不想复制 Java 文件来获得不同的类。
如何使用属性来影响作为 UiBinder 模板加载的 ui.xml 文件?
注意:我目前正在使用一种解决方法来计算 Java 中的模块属性应该是什么,并在加载适当的 ui.xml 文件的 switch 语句中使用该属性。这是不可取的,因为:
- 代码重复 - 我必须计算模块文件和 java 代码中的属性
- 每个排列都必须编译每个 ui.xml 文件,以便在运行时选择正确的文件。我更喜欢编译时解决方案。