# html:text aus mapped properties rendern



## ff (2. Jun 2009)

hallo zusammen

ich habe ein objekt SampleDay, welches unter anderem ein attribut "value" vom typ float hat. ein struts form beinhaltet nun eine map solcher objekte. um auf die objekte innerhalb der map zugreifen zu können, habe ich zwei helper methoden gemacht.

Das sieht ungefähr so aus:

```
private Map<String, SampleDay> map

public SampleDay getMapContent(String index){ 
  return map.get(index); 
}
public void setMapContent(String index, Object data){
   map.put(index, (SampleDay) data);
}
```
Nun möchte ich für alle die "value"-Attribute je eine input type=text rendern lassen. das mache ich folgendermassen in der jsp:

```
<c:forEach var="entry" items="${myForm.map}">
  <td>
      <html:text name="myForm" property="mapContent(${entry.key}).value"/>
  </td>
</c:forEach>
```
schön ist, dass mir die werte brav geschrieben werden. weniger schön ist, dass ich jeweils eine ServletException (BeanUtils.populate) erhalte.

sieht jemand, was ich hier falsch mache? ich seh's langsam nimmer...

grüsse,
ff


----------



## ff (2. Jun 2009)

ist es möglich, dass niemand eine idee hat?


----------



## gex (3. Jun 2009)

Ich hatte auch mal Krieg mit den BeanUtils, aber bin nicht sicher ob das Problem hier dasselbe ist.

Das Problem, welches ich hatte war, dass BeanUtils getter/setter Paare aufgrund der Typen gebildet hat, sprich Rückgabe-Typ der Getter wurde zur Suche der setter verwendet (als Argument-Typ).

Demnach müsstes du es mal so probieren:

```
private Map<String, SampleDay> map;
 
public Object getMapContent(String index){ 
  return map.get(index); 
}
public void setMapContent(String index, Object data){
   map.put(index, (SampleDay) data);
}
```

bzw.


```
private Map<String, SampleDay> map;
 
public SampleDay getMapContent(String index){ 
  return map.get(index); 
}
public void setMapContent(String index, SampleDay data){
   map.put(index, data);
}
```

Aber ich würde mir sonst mal den BeanUtils Source nehmen, und debuggen, hilft immer


----------

