一直在玩這個幾個小時,似乎無法讓我的頭靠近它。Wicket:避免將ListChoice的模型分配給表單的模型
在Wicket中,List Choice將列出將表示構成列表的選項的模型。當提交List Choice的表單被提交時,Wicket會將選擇的模型綁定到Form的模型上。
但是如果我不希望整個模型被綁定,而是一個特定的屬性呢?
例如:
public class FormModel {
private int locationId;
public void setLocationId(int id) {
this.locationId = id;
}
}
public class LocationModel {
private int id;
public int getId() {
return this.id;
}
}
<select wicket:id="LocationId" id="LocationId" name="LocationId" size="1">
<option value="#">#</option>
</select>
當提交表單時,檢票將嘗試綁定整個LocationModel到FormModel,其中清楚我只是想綁定它locationId財產。
我已經在使用ChoiceRenderer,但似乎只在表單呈現時才起作用。
結果是最終的類轉換異常,因爲Wicket無法將LocationModel轉換爲整數。
我不想創建另一個模型專門用於接受LocationModel的表單。
有什麼想法?
只是爲了確保我理解正確;你是說讓列表選擇一個整數列表,並在我的IChoiceRenderer裏面,顯示每個ID所代表的相關位置? – 9ee1 2012-03-23 14:33:11
確實。如果拉動描述是昂貴的,請參閱我的編輯以獲取替代方案 – 2012-03-23 15:14:40
你的例子效果很好。感謝您的詳細解答。 – 9ee1 2012-03-23 17:59:47