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

exp*_*ert 10 gwt uibinder gwt2

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

像这样的东西

<ui:with field="en" type="com.mine.courierApp.shared.PayerType" />
Run Code Online (Sandbox Code Playgroud)

看起来很有希望,在哪

public enum PayerType
{
    Sender,
    Recipient
}
Run Code Online (Sandbox Code Playgroud)

但我不能参考enum的值en.Sender.

它甚至可能吗?

Tho*_*yer 13

<ui:import field='com.mine.courierApp.shared.PayerType.Sender' />
Run Code Online (Sandbox Code Playgroud)

要么

<ui:import field='com.mine.courierApp.shared.PayerType.*' />
Run Code Online (Sandbox Code Playgroud)

然后你可以用它作为payerType='{Sender}'.

但是UiBinder应该自动尝试将枚举常量名称转换为值,因此以下应该可以在不需要的情况下工作ui:with:

<my:MyWidget payerType='Sender' />
Run Code Online (Sandbox Code Playgroud)

如果MyWidget窗口小部件有public void setPayerType(PayerType type)方法,UiBinder应该在枚举中查找Sender(从*.ui.xml文件中)命名的枚举值PayerType(来自方法的参数类型).