> Hi, > > I am trying to use the Multibox tag to generate a number of checkboxes on > a page. This I have done successfully and the generated HTML appears to > be correct. My problem occurs after selecting a checkbox and then > submitting the form. > > From the documentation I have read, I would expect my FormBean String[] > property to be populated only with the Value attribute of the selected > checkboxes. Instead, I am finding my array contains a number of elements > equal to the number of checkboxes generated on my page with the value set > to true or false depending on whether the checkbox had been selected. > > From my JSP: > > <logic:iterate id="workGroup" name="AddProfilesForm" > property="workGroupsList" type="com.serco.tih.common.shared.WorkGroupVO"> > <TR> > <TD> > <html:multibox name="AddProfilesForm" > property="selectedWorkGroups"> > <bean:write name="workGroup" > property="workGroupId"/> > </html:multibox> > </TD> > <TD class="standard"><IMG > src="/SercoTIH/images/clearpixel.gif" alt="" width="1" height="1" > border="0"> > <bean:write name="workGroup" > property="workGroupName"/> > </TD> > </TR> > </logic:iterate> > > Which generates the following HTML: > > <TR> > <TD> > <input type="checkbox" name="selectedWorkGroups" > value="1"> > </TD> > <TD class="standard"><IMG > src="/SercoTIH/images/clearpixel.gif" alt="" width="1" height="1" > border="0"> > Work Group 1 > </TD> > </TR> > > <TR> > <TD> > <input type="checkbox" name="selectedWorkGroups" > value="2"> > </TD> > <TD class="standard"><IMG > src="/SercoTIH/images/clearpixel.gif" alt="" width="1" height="1" > border="0"> > Work Group 2 > </TD> > </TR> > > From my FormBean: > > private List workGroupsList; > private String[] selectedWorkGroups; > > /** > * @return the array of selected work groups > */ > public String[] getSelectedWorkGroups() > { > return selectedWorkGroups; > } > > /** > * Sets the array of selected work groups > * @param selectedWorkGroups > */ > public void setSelectedWorkGroups( String[] selectedWorkGroups ) > { > this.selectedWorkGroups = selectedWorkGroups; > } > > /** > * @return the list of all existing work groups > */ > public List getWorkGroupsList() > { > return workGroupsList; > } > > /** > * Sets the list of all existing work groups > * @param workGroupsList > */ > public void setWorkGroupsList( List workGroupsList ) > { > this.workGroupsList = workGroupsList; > } > > As I explained above, if I selected just the first checkbox, I had > expected selectedWorkGroups to containing one String with the value of > "1". However, iterating over selectedWorkGroups I find it contains two > elements, the first being true and the second false. Similarly, if I only > select the second checkbox, rather than finding selectedWorkGroups > contains just "2", it has false and true. > > In addition, if I manipulate the selectedWorkGroups String array in my > Action class such that I add the element "1", my JSP will pick this up and > check the relevant checkbox. It seems that the JSP can "read" from the > String array correctly, but not "write". > > I am using Struts 1.0.2. > > Any suggestions / ideas - I could do without spending another day on this! > > Thanks, > Simon.
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>