-
Jun 9th, 2008, 04:26 AM
#1
Command object & List field binding issue
Hi,
I've an interesting situation here.
JSP form containing several check boxes each representing a store.
A user can select any no. of stores to group them.
When user submits the form those selected check box's objects(i.e. the stores) should be available in a command object's List field.
e.g. List<stores> storesAssociated
I'm not currently getting the List object in the form controller. My code is as below.
FormController: -
public class MyFormController extends SimpleFormController {
public ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response,
Object command,
BindException errors) throws ServletException{
StoresGroup storesGroup = (StoresGroup)command;
List<Store> stores = storesGroup.getStoresAssociated();
return new ModelAndView(new RedirectView(getSuccessView()));
}
protected Object formBackingObject(HttpServletRequest request) throws ServletException{
StoresGroup storesGroup = new StoresGroup();
return storesGroup;
}
protected Map referenceData(HttpServletRequest request) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
List<Brand> brands = brandsDAOImpl.getBrandsList();
List<Store> storesAssociated = storesDAOImpl.getStoresList();
map.put("brands", brands);
map.put("storesAssociated", storesAssociated);
return map;
}
}
============ Command Class =========
public class StoresGroup {
private String name;
private List<Store> storesAssociated;
protected final Log logger = LogFactory.getLog(getClass());
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Store> getStoresAssociated() {
return storesAssociated;
}
public void setStoresAssociated(List<Store> storesAssociated) {
this.storesAssociated = storesAssociated;
}
}
============ JSP ===========
.
.
.
<c:choose>
<c:when test="${not empty storesAssociated}">
<c:forEach var="store" items="${storesAssociated}" varStatus="loopStatus">
<tr>
<td height="20" class="labelSmall"><form:checkbox path="storesAssociated" label="${store.name}" value="${store}" ></form:checkbox></td>
<td align="left"><c: out value="${store.name}"/></td>
</tr>
</c:forEach>
</c:when>
<c: otherwise><c: out value="No Stores"/></c: otherwise>
</c:choose>
But I'm not able to get the check box selected stores after Form Submit's.
Please suggest me what's going wrong.
Thanks,
I'm really stuck with this, does check boxes and binding using path attribute create such a problem... Community, please suggest me a solution...
Last edited by beginner; Jun 11th, 2008 at 09:53 AM.
Reason: Emphasize
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules