タペストリーの選択メニューにアクションを追加しようとしています。私は現在selectModelFactoryを注入し、それにハイバネートクエリからのリストを提供することによってselectメニューを生成しています。与えられた選択肢が希望の選択肢を提示していないときに、 "+新しい項目の追加"のようなメニューを追加したいとします。 + Add New Itemを選択すると、onValueChangedメソッドを使用して新しいオブジェクトを取得し、ゾーンを返そうとしました。私はこの仕事をすることができませんでした。誰かが私を正しい方向に向けることができますか?私はこのオブジェクトがデータベースにコミットされないようにする必要があります。これにより、既存のリストに追加しないでください。Tapestry 5選択メニューにアクションを追加します。
void onPrepare() {
List<MyClass> results = session.createCriteria(MyClass.class).list();
MyClass tempObject = new MyClass();
tempObject .setName("+ Add New Item");
results.add(tempObject);
selectModel = selectModelFactory.create(results, "label");
}
public Object onValueChanged(MyClass myClass) {
if(myClass!= null && myClass.getName().equals("+ Add New Item")) {
return myZone.getBody();
}
return null;
}
あなたが使用しているタペストリーのバージョンは何? valueChangedイベントハンドラは、5.2以降の選択ボックスに対してのみ呼び出されます。 – Jeshurun