Try to change the type of selectedParties from set to List selectedParties = new ArrayList();
2010/4/19 Ray Weidner <[email protected]> > Hi All, > > I'm trying to do something pretty simple: create a choice list with > multi-select, which I iterate through upon clicking a button. > Unfortunately, it looks like my selections aren't being recorded in the > model that's supposed to receive them. Here's what the pertinent code > looks > like: > > - Java: > > public EditIssuePage extends WebPage { > // I've tried removing the 'transient' keyword, but that doesn't change > anything > transient private Set <Party> selectedParties = new HashMap <Party> (); > ... > public EditIssuePage () { > ... > Form form = new Form ("editIssueForm"); > add (form); > ... > ListMultipleChoice <Party> partyChoice = new ListMultipleChoice > <Party> ( > "parties", > new PropertyModel (this, "selectedParties"), > new LoadableDetachableModel <List <Party>> () { > @Override > public List <Party> load () { > return new Vector <Party> (retrieveAllPartiesFromDAO ()); > } > }, > new IChoiceRenderer <Party> () { > public Object getDisplayValue (Party object) { > return object.getFullName (); > } > > public String getIdValue (Party object, int index) { > return object.getId (); > } > } > ); > Button addPartiesButton = new Button ("addPartiesButton") { > @Override > public void onSubmit () { > logger.debug ("Number of selected parties: " + > selectedParties.size ()); // always reporting zero! > for (Party selectedParty : selectedParties) { > ... > } > } > }; > form.add (partyChoice); > form.add (addPartiesButton); > } > > private Set <Party> retrieveAllPartiesFromDAO () { > // does what it sounds like > } > } > > - HTML: (My memory is a bit hazy here; I don't have any of this code in > front of me as I write this) > > ... > <select multiple wicket:id="parties"> > <option>[A party should be here]</option> > </select> > <submit wicket:id="addPartiesButton" name="Add Selected Parties"/> > ... > > The page renders fine, with all Party objects listed for selection. But > when I select one or more of the rows and click the button, the log message > I see is "Number of selected parties: 0", no matter what. I have very > similar logic working on another page, so I'm pretty confused about what's > the problem here. All advice is much appreciated. > > Thanks, > Ray Weidner >
