我做了一些測試,看看如何可以將組合框綁定到某些bean屬性,但我得到一個異常:「ConversionException:無法將值轉換爲字符串........ ...「 我的示例工作與indexedContainer爲組合框,但我有一些與BeanItem容器的麻煩。 我有:1。 TestCountry,簡單的java bean的BeanItemContainer(我不把這裏的setter和getter或構造爲簡單起見):Combobox與BeanItemContainer和BeanFieldGroup拋轉換異常
public class TestCountry implements Serializable {
private String name;
private String shortName;
}
BeanItemContainer
BeanItemContainer<TestCountry> _data = new BeanItemContainer<TestCountry>(TestCountry.class); _data.addItem(new TestCountry("Afganistan","AF")); _data.addItem(new TestCountry("Albania","AL"));
的實例
bean提交組。這裏testBean這個是簡單的字符串屬性的( 「名字」, 「手機」, 「contry」)
BeanFieldGroup<TestBean> binder = new BeanFieldGroup<TestBean>(TestBean.class);
組合框
ComboBox myCombo = new ComboBox("Select your country", _data);
必不可少代碼另一個bean
binder.bind(myCombo, "country");
當我嘗試提交綁定器時,我得到了有關轉換問題的錯誤信息。從我理解的閱讀書籍和vaadin api中,BeanItemContainer使用bean自身作爲標識符和(這裏可能是錯誤的)活頁夾使用項目標識符來綁定屬性。所以問題在於,從Bean到字符串的轉換。 我試着在我的TestCountry bean上實現toString(),hash()和equals(),但沒有成功。在這種情況下可以使用BeanItemContainer做些什麼?
在此先感謝!
謝謝你的建議!第一個想法更好,並且運作良好! – vlad2005