File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Struts and the fly likes Mapbacked forms Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Mapbacked forms" Watch "Mapbacked forms" New topic

Mapbacked forms

Balbir Singh
Ranch Hand

Joined: Jun 01, 2001
Posts: 79
I am using map-backed forms for generating dynamic views. The concept goes like this that one jsp constitues of defined no of views, some of the views are static and some are dynamic, each view is made up of a value object, which is a form. The dynamic views are populated by using maps. So if i used map-backed forms for static pages, it works fine but for dynamic views, i have to use a map inside a map. The code for actionform eg looks like this :
public class TestForm extends ActionForm {
private Map values = new HashMap();
Map testMap = new HashMap();

public TestForm() {

public void setValue(String key, Object value) {

values.put(key, value);

public Object getValue(String key) {
return values.get(key);

public void reset(ActionMapping arg0, HttpServletRequest arg1) {

testMap.put("testField", "Why can't I populate it");
values.put("testMap", testMap);
values.put("retest", "Retest String");

public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {

return super.validate(arg0, arg1);
the jsp code is

<TABLE border="0" width="497">
<TD width="101">Test</TD>
<TD width="388">

<html:text property="value(testMap).testField"></html:text>
<TD width="101">Reset</TD>
<TD width="388">
<html:text property="value(retest)"></html:text>

but when I enter a value in the jsp and press submit, then only the value for the second field is dynamically filled by the form, but not for the first field (which is actually a field of a map inside a map). Is there any way i can use nested map-backed forms, i guess it should work since its able to get the values in the jsp using nested map, so it should also set the values as such. I am not sure what i m doing wrong over here ?
I will really appreciate your help in this.

Thanks and Regards<br />Balbir Singh<br />Sun Certified Java Programmer<br />IBM Certified Administrator for WebSphere4.0
I agree. Here's the link:
subject: Mapbacked forms
It's not a secret anymore!