2

Eclipse 3.7 GWT 2.4 xml を使用してテンプレート化された UiBinder クラスを作成すると、
@UiField SpanElement nameSpan;で問題が発生します。

「フィールド nameSpan には、テンプレート ファイル Login.ui.xml に対応するフィールドがありません」

どのように修正しますか?

ログイン.java

public class Login extends UIObject {

    private static LoginUiBinder uiBinder = GWT.create(LoginUiBinder.class);

    interface LoginUiBinder extends UiBinder<Element, Login> {
    }

    @UiField
    SpanElement nameSpan; 

    public Login(String firstName) {
        setElement(uiBinder.createAndBindUi(this));
        nameSpan.setInnerText(firstName);
    }

}

Login.ui.xml

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'>
    <div>
        Hello,
        <span ui:field='nameSpan' />
    </div>
</ui:UiBin
4

1 に答える 1

1

「フィールド nameSpan には、テンプレート ファイル Login.ui.xml に対応するフィールドがありません」

login.java の @UiField で定義されているように、login.ui.xml に対応するタイプのフィールドがないことを示しています。

login.ui.xml は次のようになります。

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' xmlns:s='urn:import:com.google.gwt.dom.client'>
<div>
    Hello,
    <s:SpanElement ui:field='nameSpan' />
</div>

于 2012-04-16T17:05:05.053 に答える