Hi everyone,
I need for my work to pass data from one form to two different Java classes and then save with Hibernate JPA in the database.
Here are the code:
In jsp file:
In Java class:Code:... <form:form method="post" modelAttribute="vehicles"> <fieldset><legend> Fahrer-Angaben </legend> <p>Damit der Mitfahrer Sie leichter erkennen kann, sollten Sie Ihr(e) Fahrzeug(e) genauer beschreiben:</p> <ol> <li class="checkboxradio"> <form:radiobutton path="ownvehicle" value="1" cssClass="checkboxradio" /><label class="checkboxradio">Ich besitze folgendes (Haupt-)Fahrzeug (PKW):</label></li> <li class="checkboxradio"> <label for="carbrand" class="innerlabel">Marke:</label><hh:carbrands path="brandID" /> <label for="carmodel" class="innerlabel">Modell:</label><form:input path="model" /> </li> <li class="checkboxradio"> <label for="carcolor" class="innerlabel">Farbe:</label><hh:carcolors path="colorID" /> <label for="caryearofmanufacture" class="innerlabel">Baujahr:</label><hh:time_YY path="yearofmanufacture" /> </li> <li class="checkboxradio"> <label for="carplatenumber" class="innerlabel">KFZ-Kennzeichen:<form:input path="licensePlate" /></label></li> <li class="checkboxradio"> <label for="carpic" class="innerlabel">Bild hochladen:</label><form:input path="carpic" /></li> <li class="checkboxradio"> <label for="carluggage" class="innerlabel">Gepäckmenge</label><hh:luggage path="luggage" /></li> <li class="checkboxradio"> <label for="personalaveragespeed" class="innerlabel">Persönliche Richtgeschwindigkeit:</label> <form:input path="avgSpeed" maxlength="3" cssClass="digits-3"/> km/h (auf der Autobahn)</li> <!-- <li style="margin-left: 215px;"><input type="submit" name="weitere_fahrzeug" value="Fahrzeug hinzufügen" /></li> --> <li class="checkboxradio"><form:radiobutton path="ownvehicle" value="2" cssClass="checkboxradio" /><label class="checkboxradio">Ich besitze keinen PKW.</label></li> </ol> </fieldset> </form:form> <form:form method="post" modelAttribute="offeroption"> <fieldset><legend> Zusatz-Optionen</legend> <p>Ich möchte bei einer Vorab-Vermittlung eine <strong>Nachricht</strong> erhalten... <strong>[nur Premium-Mitglieder]</strong></p> <ol> <li class="checkboxradio"> <form:checkbox path="matchMessage" cssClass="checkboxradio" />wenn für mich ein Partner gefunden wurde.</li> <li class="checkboxradio"> <form:checkbox path="meetReminder" cssClass="checkboxradio" />als Erinnerung, zwei Stunden vor dem Treffzeitpunkt.</li> </ol> <p>Bei Problemen ist ein <strong>weiterer Ansprechpartner</strong> erreichbar unter:</p> <p>Telefon (möglichst Mobilnummer): <form:input path="emergencycallnumber"/> / Email: <form:input path="emergencyemail"/></p> </fieldset> <input type="submit" name="_eventId_back" value="Zurück" class="submit" /> <input type="submit" name="_eventId_next" value="Weiter" class="submit"/> </form:form> ...
- Vehicle.java:
- Offeroption.java:Code:... @Id @GeneratedValue(strategy=GenerationType.IDENTITY, generator="vehicle_gen") private int vehicleID; @Transient private Short ownvehicle = 1; private byte avgSpeed; private String brandID; private String colorID; private String licensePlate; private byte luggage; private String model; private float petrolconsumption; private byte seats; private short yearofmanufacture; @Transient private String carpic; //bi-directional many-to-one association to Activeoffer @OneToMany(mappedBy="vehicle", cascade = CascadeType.ALL) private Set<Activeoffer> activeoffers = new HashSet<Activeoffer>(); //bi-directional many-to-one association to Usermedia @OneToMany(mappedBy="vehicle", cascade = CascadeType.ALL) private Set<Usermedia> usermedias = new HashSet<Usermedia>(); //bi-directional many-to-one association to User @ManyToOne(cascade = CascadeType.ALL) @JoinColumn(name="userID") private User user; public Vehicle() { } public Vehicle(int vehicleID) { this.vehicleID = vehicleID; } // conctructor, getter and setter
The Webflow:Code:... @Id @GeneratedValue(strategy=GenerationType.IDENTITY, generator="user_gen") private int offerOptionID; private String emergencycallnumber; private String emergencyemail; private boolean matchMessage; private boolean meetReminder; // constructor, Getter and setter ...
Now I want to know how I can do it with Spring WebFlow? Shall I use <subflow>-Tag? If so, how?Code:... <persistence-context /> <var name="usersettings" class="mmv.pojos.Offeroption" /> <var name="vehicles" class="mmv.pojos.Vehicle" /> <on-start> <evaluate expression="userService.getUserIdByUsername(currentUser.name)" result="flowScope.userId" /> <evaluate expression="userService.getUserSettingsById(flowScope.userId)" result="usersettings" /> </on-start> <view-state id="MymmvUserSettings" model="usersettings"> <transition on="saveData" to="UserSettingsSave" /> </view-state> <action-state id="UserSettingsSave"> <evaluate expression="userService.persistUserSettings(usersettings)" /> <transition on="success" to="UserSettingsEnd"> <set name="flashScope.saveDataSuccess" value="true"/> </transition> <transition on="error" to="UserSettingsEnd" /> </action-state> <end-state id="UserSettingsEnd" commit="true" view="MymmvUserSettings" /> </flow>
Thank you in advance for your help?


Reply With Quote