Thank you very much, Sven! That change exposed an underlying problem of having my collection set to null. I fixed the getter to instantiate the ArrayList if it was null and everything now works!
-Matt -----Original Message----- From: Sven Meier [mailto:[email protected]] Sent: Friday, March 05, 2010 12:41 PM To: [email protected] Subject: Re: Model Values Not Updating on Form Submit Hi Matthew, use a Check instead of a Checkbox. Sven Matthew Arck wrote: > Hey all, > > > > Go easy on me here as I'm not only brand new to wicket but this is also > my first email to this user group! > > > > I've inherited a project from a co-worker who has left the company and a > request has been put into to ask new users to specify their race and > ethnicity when they register on our web site. > > After doing a good deal of reading and experimenting I have the > questions displaying properly and the form submits with no exceptions. > The problem I have is that my user model doesn't get updated with any > of the race or ethnicity selections. > > > > Race and ethnicity are essentially handled the same way so to keep > things short I'll just post what I'm doing for the possible race > selections. > > > > Here's my markup: > > <div class="vertical-form-field label"> > > <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="raceGroup"> > > <input wicket:id="value" type="checkbox" /> > > <span wicket:id="racDesc" > style="font-weight:normal;">Race Text</span> > > <br /> > > </span> > > </span> > > </div> > > > > Here's my markup the code I have for setting up the relevant parts of > the form: > > public NewAccountForm(final String id, CompoundPropertyModel userModel) > > { > > super(id, userModel); > > > > /* > > * Set up a bunch of fields and validations > > */ > > > > // ADD RACE QUESTION > > String raceQuestion = fhDAO.getRaceQuestion(); > > Label selectOneOrMoreRacesLabel = new > Label("selectOneOrMoreRaces", new Model(raceQuestion)); > > add(selectOneOrMoreRacesLabel); > > > > CheckGroup racesCheckGroup = new CheckGroup<RaceAnswer>("races"); > > add(racesCheckGroup); > > ListView races = new ListView("raceGroup", > fhDAO.getRaceAnswers()) > > { > > protected void populateItem(ListItem item) > > { > > RaceAnswer access = (RaceAnswer)item.getModelObject(); > > CheckBox chk = new CheckBox("value", item.getModel()); > > item.add(chk); > > item.add(new Label("racDesc", access.getDescription())); > > } > > }; > > racesCheckGroup.add(races); > > } > > > > And finally, the relevant portions of my user model: > > private ArrayList<RaceAnswer> race; > > > > public ArrayList<RaceAnswer> getRaces() > > { > > return race; > > } > > > > public void setRaces(ArrayList<RaceAnswer> races) > > { > > race = races; > > } > > > > My RaceAnswer model consists of getters and setters for the Value > property (String) and Description property (also a String). > > > > If anyone is able to point out where I've gone wrong or just help me > with the proper way to bind an ArrayList to a CheckGroup I would be > forever grateful. > > > > Thanks, > > Matt > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
