DropDownChoiceに問題があります。私はアイテムをあらかじめ選択しなければならないが、私が見つけたすべてのチュートリアルとサンプルは、プリミティブ型のリストだけを考慮する。Wicket - オブジェクトを含むDropDownChoiceを選択しました
私はオブジェクトのリストを持っています。このようにし
final DropDownChoice<T> ddc = new DropDownChoice<T>(id, data, new ChoiceRenderer<T>(choiceRendererExpression, choiceRendererIdExpression));
:以下constuctorを使用してDropDownChoiceイムを構築するには
class myObject {
private String name;
private String surname;
[setter and getter]
}
他のクラスで
List<MyObject> myList = some_data_retrieve();
MyObject defaultValue = some_simple_data_retrieve();
今
final DropDownChoice<myObject> ddc = new DropDownChoice<myObject>("wicket_id", myList, new ChoiceRenderer<myObject>("name", "surname"));
。すべてのチュートリアル/例では、Modelを持つ別のコンストラクタを使用しています。たとえば:
final DropDownChoice<myObject> ddc = new DropDownChoice<myObject>("wicket_id", new PropertyModel<myObject>(this,"defaultValue"),myList, new ChoiceRenderer<myObject>("name", "surname"));
をしかし、私が得たことは誤りである:
private static final List<String> SEARCH_ENGINES = Arrays.asList(new String[] {
"Google", "Bing", "Baidu" });
private String selected = "Google";
DropDownChoice<String> listSites = new DropDownChoice<String>(
"sites", new PropertyModel<String>(this, "selected"), SEARCH_ENGINES);
私はコールのようなものをエミュレートするために、このような何かを試してみました
No get method defined for class: package$WicketPage expression: defaultValue
してください、私はundersand助けます。
おかげ
コンストラクタ内の2番目のパラメータは、選択された要素のモデルです。デフォルト値のモデルではありません。これは、私が改札を理解する方法です。 – drdrej