Пожалуйста, позвольте мне предисловие к этому, сказав, что я почти совершенно новичок в разработке веб-сайтов java, поэтому надеюсь, что правильно объясню эту проблему.Отправка страницы не обновляет мою модель?
Я унаследовал веб-сайт калитки от человека, который уехал на более зеленые пастбища, и было предложено попросить новых пользователей включить их расы и эфеменцию при регистрации на веб-сайт. Поэтому я добавил соответствующие вопросы на страницу ... пока все хорошо.
Проблема, которую я получаю сейчас, заключается в том, что когда я отправляю страницу, новые значения, похоже, не обновляются. Я собираюсь опубликовать здесь код для расового вопроса, но вопрос об этничности почти идентичен. Возможно, важно отметить, что пользователь должен иметь возможность выбирать более одной гонки или вообще не участвовать в гонках при регистрации.
Моя соответствующая наценка:
<span wicket:id="selectOneOrMoreRaces">Select one or more races to indicate what you consider yourself to be.</span>
<br />
<span class="field" wicket:id="races">
<span wicket:id="races">
<input wicket:id="races.value" type="checkbox" />
<span wicket:id="racDesc" style="font-weight:normal;">Race Text</span>
<br />
</span>
</span>
Вот фрагмент кода для этой страницы:
String raceQuestion = fhDAO.getRaceQuestion();
Label selectOneOrMoreRacesLabel = new Label("selectOneOrMoreRaces", new Model(raceQuestion));
add(selectOneOrMoreRacesLabel);
CheckGroup racesCheckGroup = new CheckGroup("races");
add(racesCheckGroup);
ListView races = new ListView("races", fhDAO.getRaceAnswers())
{
protected void populateItem(ListItem item)
{
RaceAnswer access = (RaceAnswer)item.getModelObject();
CheckBox chk = new CheckBox("races.value", new Model(access.getValue()));
item.add(chk);
item.add(new Label("racDesc", access.getDescription()));
}
};
racesCheckGroup.add(races);
Вот модель для RaceAnswers:
public class RaceAnswer implements Serializable
{
private String _description;
private String _value;
public RaceAnswer(String description, String value)
{
_description = description;
_value = value;
}
public String getDescription()
{
return _description;
}
public String getValue()
{
return _value;
}
}
И, наконец, соответствующий код для моего имущества races в моем классе пользователя:
private ArrayList<RaceAnswer> race;
public ArrayList<RaceAnswer> getRaces()
{
return race;
}
public void setRaces(ArrayList<RaceAnswer> races)
{
race = races;
}