Играю с этим пару часов и, кажется, не могу понять это.
В Wicket, List Choice принимает список моделей, которые будут представлять варианты, которые составляют список. После отправки формы, к которой добавлен выбор списка, Wicket связывает модель выбранного выбора с моделью формы.
Но что, если я не хочу, чтобы вся модель была привязана, а вместо нее указывалось определенное свойство?
Например:
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>
Когда форма отправлена, Wicket попытается связать всю LocationModel с FormModel, где я просто хочу связать ее locationId свойство.
Я уже использую ChoiceRenderer, но, похоже, он работает только тогда, когда форма отображается, а не когда она отправлена.
Результатом является исключение приведения к окончательному классу, поскольку Wicket не сможет преобразовать LocationModel в целое число.
Я бы не хотел создавать другую модель специально для формы, принимающей LocationModel.
Есть мысли?