我可以在UiBinder模板中使用枚举值作为字段值吗?我正在使用GWT 2.4

像这样

<ui:with field="en" type="com.mine.courierApp.shared.PayerType" />

看起来很有前途,在哪里
public enum PayerType
{
    Sender,
    Recipient
}

但我无法通过en.Sender引用枚举的值。

可能吗?

最佳答案

<ui:import field='com.mine.courierApp.shared.PayerType.Sender' />

或者
<ui:import field='com.mine.courierApp.shared.PayerType.*' />

然后,您可以将其用作payerType='{Sender}'

但是UiBinder应该自动尝试将枚举常量名称转换为值,因此以下代码应该不需要ui:with即可工作:
<my:MyWidget payerType='Sender' />

如果MyWidget小部件具有public void setPayerType(PayerType type)方法,则UiBinder应在Sender枚举(根据方法的参数类型)中查找名为*.ui.xml的枚举值(来自PayerType文件)。

10-06 13:49