Ich versuche SpringMVC zu verwenden, um ein Formular zu bearbeiten, aber jetzt bin ich fest und ich bin hier, um um Ihre Hilfe zu bitten.Spring MVC: Wie verwaltet man ein Java-Objekt von einer GET-Anfrage?
Wenn der Benutzer das Formular abschickt, gibt mein Controller die Jsp-Ergebnisseite zurück und der Benutzer kann überprüfen, was er ausgefüllt hat. Auf dieser Ergebnisseite habe ich 2 Schaltflächen, eine um das Formular definitiv zu senden und eine um es zu ändern.
Hier mein Problem: wenn ich auf Ändern klicke, sind alle Felder des Formulars wieder leer und ich möchte den Wert vom Benutzer gefüllt halten.
Mein Controller:
@Controller
@RequestMapping("/adhesion")
public class FormController {
//Send the form
@RequestMapping(method = RequestMethod.GET)
public String getFormulaire(@RequestParam(value = "user", required = false) T_demande_adhesion User, Map<String, Object> model) {
System.out.println("user" + User); //Null everytime
model.put("user", User);
System.out.println("Envoi formulaire !");
return "formulaireAdhesion";
}
//Handle the form
@RequestMapping(method = RequestMethod.POST)
public String gestionAdhesion(@ModelAttribute("formAdhesion") @Valid T_demande_adhesion user, BindingResult erreurForm, Map<String, Object> model)
throws ServletException, IOException {
final String CHEMIN_DOC_APP = "C:/DocumentsApp/";
// Form JSP page
final String FORMULAIRE_ADHESION = "formulaireAdhesion";
// Result page
final String AFFICHER_RESULT = "afficherResult";
// Objet de validation du formulaire
ValidationDmdAdhesion demandeAdhesion = new ValidationDmdAdhesion();
//Return AFFICHER_RESULT or FORMULAIRE_ADHESION
String resultat = demandeAdhesion.validationUser(user, erreurForm, model, FORMULAIRE_ADHESION, AFFICHER_RESULT, CHEMIN_DOC_APP );
//putting the object to the request
model.put("user", user);
return resultat;
}
}
In JSP Seite ich den Parameter 'User' in der Anfrage hinzugefügt: '
<input type="button" value="Modifier" onclick="document.location.href='<c:url value="adhesion?user=${user}"/>';" class="boutonAdhesion" />
' Aber das mir eine Zeichenfolge senden und die URL ist:
/[email protected]
Wenn der Benutzer auf Schaltfläche "Ändern" klickt (was ist in der Ergebnisseite), möchte ich dieses Objekt @ModelAttribute("formAdhesion") @Valid T_demande_adhesion user
auf der GET-Anfrage erhalten, um das Formular auszufüllen, um zu vermeiden, dass der Benutzer dieselben Informationen wieder eingibt. Irgendwelche Hilfe?
Ein Auszug aus der Form:
<label for="nom">Nom <span class="requis">*</span></label><input type="text" id="nom" name="identite.nom" value="<c:out value ="${user.identite.nom}"/>" size="35" maxlength="30" /> <spring-ext:errors path="identite.nom" class="erreur" firstErrorOnly="true"/>
Es ist hier: value="<c:out value ="${user.identite.nom}"/>
, dass ich den Wert von nom
erhalten möchten.
Entschuldigung für das Englisch.
Frenchy.
Ich denke, Ihr 'input'-Tag' onclick' Attribut endet vorzeitig. Ich denke, es endet hier: 'onclick =" document.location.href = '
Birchlabs
Ich denke' onclick' muss wie folgt: 'onclick =" document.location.href = ' '; " –
Birchlabs
Es kann nicht funktionieren, wenn ich die" \ "gleich nach' value = ' – akuma8