J'essaie d'utiliser SpringMVC pour gérer un formulaire mais maintenant je suis coincé et je suis là pour vous demander de l'aide. Lorsque l'utilisateur soumet le formulaire, mon contrôleur renvoie la page de résultat jsp et l'utilisateur peut vérifier ce qu'il a rempli. Dans cette page de résultat, j'ai 2 boutons, un pour envoyer définitivement le formulaire et un pour le modifier.Spring MVC: Comment gérer l'obtention d'un objet java à partir d'une requête GET?
Voici mon problème: lorsque je clique sur modifier tous les champs du formulaire sont à nouveau vides et je voudrais garder la valeur renseignée par l'utilisateur.
Mon contrôleur:
@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;
}
}
dans le côté JSP j'ai ajouté le paramètre 'Utilisateur' dans la demande: '
<input type="button" value="Modifier" onclick="document.location.href='<c:url value="adhesion?user=${user}"/>';" class="boutonAdhesion" />
' Mais cela me envoyer une chaîne et l'URL est:
/[email protected]
Lorsque l'utilisateur clique sur le bouton Modifier (lequel est dans la page résultat), je voudrais obtenir cet objet @ModelAttribute("formAdhesion") @Valid T_demande_adhesion user
sur la demande GET pour remplir le formulaire, dans le but d'éviter à l'utilisateur de mettre à nouveau les mêmes informations. Toute aide?
Un extrait de la forme:
<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"/>
Il est ici: value="<c:out value ="${user.identite.nom}"/>
que je veux obtenir la valeur de nom
.
Désolé pour l'anglais.
Frenchy.
Je pense que l'attribut 'onclick' de votre balise' input' se termine prématurément. Je pense qu'il se termine ici: 'onclick =". Document.location.href = '
Birchlabs
Je pense que onclick' doit être échappé comme ceci: 'onclick =" document.location.href = ' '; "' –
Birchlabs
Cela ne peut pas fonctionner si je mets le " \ "juste après' value = ' – akuma8