Поскольку вы используете PropertyModel(this, "choices.0")
, Wicket пытается найти свойство с именем choices
посредством отражения с помощью метода getChoices()
класса, объявившего PropertyModel.Этот метод, кажется, не существует в com.samoo.tool.pages.CreatePrintingJob
, как об этом говорится в исключении.
Кроме того, если этот 0
является индексом, вы должны обращаться к нему с помощью выражения [index]
, так какПроблема JIRA предполагает: PropertyModel не поддерживает свойство только для индекса ("[0]")
Однако, похоже, вы хотите инициализировать DropDownChoice
первым элементом choices
,Но то, что будет делать Wicket, если вы установите для DropDownChoice Model значение PropertyModel(this, "choices.[0"])
, будет отображать выбор этого DropDownChoice следующим образом:
- Во время отображения формы для представления (предварительно) выбранного выбора,он будет использовать первый элемент в списке
choices
. - Во время отправки формы для сохранения выбранного пользователем значения он сохранит выбор в первой позиции списка
choices
.
Подводя итог, поддерживающий объект, представляющий выбор DropDownChoice
, будет первым элементом в списке choices
.
Итак, вы, вероятно, захотите использовать совершенно другую модель, независимую от списка выбора, для вспомогательного объекта, представляющего выбор DDC.
List<String> choices = Arrays.asList(new String[] { "Library", "School Office",
"Science Dept" });
String selected = "Library";
IModel dropdownModel = new Model<String>(choices[0]);
DropDownChoice<String> serviceDDC =
new DropDownChoice<String>("service", dropdownModel, choices);
Вы можете найти следующие ссылкиполезно: