Struts FormBean

Status
Nicht offen für weitere Antworten.

rob3000

Mitglied
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
 
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.
 
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
 
Na indem du einfach ne zweite Form gleichen Typs erstellst und diese dann in der anderen Action verwendest:

Code:
 <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:

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ß
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben