2012-06-13 3 views
0

У меня есть SimpleBeanEditorDriver для редактирования моей учетной записи, но я всегда получаю нулевые значения при редактировании и вызове flush(). я проверил все, документы Google, stackoverflow, google groups, но не нашел никаких проблем. я что-то пропустил ?Почему SimpleBeanEditorDriver возвращает нулевые значения

вот мой Посмотреть

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 Счет

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; 
    } 
} 

я также имеют те же проблемы с другой редактор в моем приложении. на самом деле никто не работает. когда я нажимаю save или создаю, я получаю нулевые значения объекта.

+0

, пожалуйста, покажите свой класс учетной записи. Есть ли у него необходимые геттеры и сеттеры? – jonasr

+0

это моя учетная запись public class Account реализует Serializable { приватная электронная почта String; частный пароль для строк; общественная учетная запись (строковая электронная почта) { this.email = email; } общественного счета() { } общественного счета (String электронной почты, String пароль) { this.email = электронная почта; this.password = password; } public String getEmail() { return email; } public String getPassword() { Обратный пароль; } } – Adelin

ответ

2

Попробуйте добавить методы setEmail() и setPassword() в свой класс учетной записи

+0

спасибо, что сработало ... – Adelin

Смежные вопросы