# Struts - dynamisches FormBean



## gegel (31. Mai 2005)

Hi all

ich arbeite gerade an an einem Struts-Projekt und habe folgendes Problem: 
ich möchte in einer InJSP meine InputDaten sammeln und diese in einem FormBean an meine Action senden (soweit nichts spezielles :gaen: ) Mein Problem ist nun allerdings, dass ich die InputFelder in der InJSP aus einem Property-File lese, und sich diese somit beliebig ändern können, zwar bleiben sie in der Struktur gleich, jedoch können je nach dem mehr oder weniger dieser "Input-Strukturen" benötigt werden. Meine Frage ist nun, wie kann ich dies vernünftig in einem FormBean definieren, damit ich trotzallem das FW von Struts benutzen kann (automatisches Füllen des FormBeans, Validierung...)? gibt es die Möglichkeit in einem FormBean eine Collection von weiteren Formbeans oder sowas zu definieren, so dass die Daten dann immer noch automatisch in diese Collection gespeichert werden?

Ich hoffe das Problem einigermassen verständlich formuliert zu haben...

TIA für eure Posts!

grüsse


----------



## Gast (3. Jun 2005)

Dynamic Action Form ?

org.apache.struts.action.DynaActionForm

weis nicht ob das damit geht, aber du kannst es ja ma ausprobieren


----------



## daLenz (3. Jun 2005)

oder die DynaValidatorForm. dann definierst du deine formbean nur noch so:

```
<form-bean name="irgendeinName" type="org.apache.struts.validator.DynaValidatorForm">		
      	<form-property name="p1"      	type="java.lang.String"/>
      	<form-property name="p2"      	type="java.lang.String"/>
      	<form-property name="p3"      	type="java.lang.String"/>
      	<form-property name="p4"      	type="java.lang.String"/>
      	<form-property name="p4"      	type="java.lang.String"/>
	....
      	<form-property name="pn"      	type="java.lang.String"/>
 </form-bean>
```
(die getter und setter werden automatisch generiert)

so kannst du für alle actions ein und dieselbe form verwenden!
du musst nur darauf achten, dass den input-feldern auf der jsp propertys aus dem bereicht p1-pn 
zugewiesen werden...

greetz


----------



## gegel (3. Jun 2005)

daLenz hat gesagt.:
			
		

> oder die DynaValidatorForm. dann definierst du deine formbean nur noch so:
> 
> ```
> <form-bean name="irgendeinName" type="org.apache.struts.validator.DynaValidatorForm">
> ...



Das sieht sehr interessant aus! habe es nun mit einer HashMap-Backed Form gelöst, werde mir dieses DynaValdatorForm jedoch sicherlich anschauen!


----------

