0

アカウント Bean を編集するための SimpleBeanEditorDriver がありますが、編集して flush() を呼び出すと、常に null 値が返されます。私はすべて、Googleのドキュメント、stackoverflow、Googleグループをチェックしましたが、次のような問題は見つかりませんでした. 私は何か見落としてますか ?

ここに私の見解があります

public class AccountCreatorViewImpl extends Composite {


  interface Driver extends SimpleBeanEditorDriver<Account, AccountEditor> {
  }

  interface AccountCreatorViewImplUiBinder extends UiBinder<HTMLPanel, AccountCreatorViewImpl> {
  }


  Driver driver = GWT.create(Driver.class);

  private static AccountCreatorViewImplUiBinder ourUiBinder = GWT.create(AccountCreatorViewImplUiBinder.class);


  private AccountCreatorPresenter presenter;


  @UiField
  AccountEditor accountEditor;

  @UiField
  Button create;

  public AccountCreatorViewImpl() {

    HTMLPanel rootElement = ourUiBinder.createAndBindUi(this);

    initWidget(rootElement);

    Account account = new Account();

    driver.initialize(accountEditor);


    driver.edit(account);


  }

  @UiHandler("create")
  public void onCreate(ClickEvent event) {


    Account editedAccount = driver.flush();
    if (driver.hasErrors()) {

      Window.alert("Has errors! ->"+driver.getErrors().toString());
    }

    Window.alert(editedAccount.getEmail() + "/" + editedAccount.getPassword());

//    presenter.create(editedAccount);
  }


} 

これが私のシンプルなエディターです

public class AccountEditor extends Composite implements Editor<Account> {


  interface AccountEditorUiBinder extends UiBinder<HTMLPanel, AccountEditor> {
  }

  private static AccountEditorUiBinder ourUiBinder = GWT.create(AccountEditorUiBinder.class);

  @UiField
  TextBox email;

  @UiField
  PasswordTextBox password;

  public AccountEditor() {

    HTMLPanel rootElement = ourUiBinder.createAndBindUi(this);

    initWidget(rootElement);


  }

}

これは私の Account クラスの Account です

public class Account implements Serializable {


  private String email;

  private String password;

  public Account(String email) {
    this.email = email;
  }

  public Account() {

  }

  public Account(String email, String password) {

    this.email = email;
    this.password = password;
  }


  public String getEmail() {
    return email;
  }

  public String getPassword() {
    return password;
  }
}

アプリの別のエディターにも同じ問題があります。実際にはどちらも機能しません。保存または作成を押すと、エンティティの null 値が取得されます。

4

1 に答える 1

2

アカウント クラスに setEmail() および setPassword() メソッドを追加してみてください

于 2012-06-13T12:08:20.063 に答える