# Struts FormBean



## rob3000 (20. Nov 2005)

Hallo,

Ist es in Struts nicht möglich, wenn ich ein FormBean schon für eine Action und eben die zugehörige jsp-seite verwendet habe, dass ich das gleiche FormBean noch für eine andere Action und zugehörige jsp-seite verwende?? - bei mir läuft das irgendwie nicht...

danke 

rob


----------



## tec1 (20. Nov 2005)

Die selbe Klasse kannste schon nehmen, solltest aber nen zweites Objekt erzeugen. Musst also in der struts-confix ne zweite Bean mappen mit der selben klasse.


----------



## rob3000 (20. Nov 2005)

Wie würde ein zweiter derartiger Eintrag in der struts-config.xml aussehen?


----------



## rob3000 (20. Nov 2005)

Die relevanten Teile dazu in meiner struts-config.xml schauen so aus:

 <form-beans >
      <form-bean name="newUserForm" type="creditcheck.struts.form.NewUserForm" />
   </form-beans>


 <action
         attribute="newUserForm"
         input="/jsp/newUser.jsp"
         name="newUserForm"
         path="/newUser"
         scope="request"
         type="creditcheck.struts.action.NewUserAction" />


Das newUserForm-Bean möchte ich jetzt aber auch in einer anderen Action auch verwenden. Einfach die Form-Bean in der Action einsetzen funktioniert nicht. Muss ich da noch irgendwas dazu machen? - im vorigen Posting war zu lesen, dass ich eine neue Instanz,etc. brauche...?

rob


----------



## tec1 (20. Nov 2005)

Na indem du einfach ne zweite Form gleichen Typs erstellst und diese dann in der anderen Action verwendest:


```
<form-beans >
<form-bean name="newUserForm" type="creditcheck.struts.form.NewUserForm" />

<form-bean name="secondUserForm" type="creditcheck.struts.form.NewUserForm" />
</form-beans>


<action
attribute="newUserForm"
input="/jsp/newUser.jsp"
name="newUserForm"
path="/newUser"
scope="request"
type="creditcheck.struts.action.NewUserAction" /> 

<action
...
name="secondUserForm"
... />
```

Das ist ungefähr das Gleiche wie folgender Code:


```
NewUserForm firstForm = new NewUserForm();

NewUserForm secondForm = new NewUserForm();
```

In der Struts config werden einfach Servlets und FormBeans erstellt und im entsprechenden scope gespeichert, mit dazugehörigen Forwards. Nur dass struts dir eine menge Arbeit abnimmt und deine Anwendung auch einer gewissen Ordnung unterwirft. 

Gruß


----------

