2010-12-08 5 views
0

Dans mon rendu de rendu, j'ai mis un objet Utilisateur dans mon modèle (model.addAttribute). Dans le couplage JSP que je fais:spring portlet mvc: l'attribut model est null malgré être modelAttribute?

<form:form action="x" method="post" modelAttribute="user"> 
Username: ${user.username} 
Age: ${age} 
This information is correct: <input type="checkbox" id="correctInformation"/> 
<input type="submit" value="Submit"/> 
</form:form> 

Cependant, dans la méthode mathing x lorsque je récupère l'objet utilisateur à l'aide d'une balise @ModelAttribute l'objet utilisateur est une nouvelle instance au lieu de celui utilisé sous la forme (le nom d'utilisateur est vide etc.).

Est-ce que quelqu'un sait pourquoi cela se produit et la solution?

éditer: Je peux utiliser <input type:hidden path="username"/> et cela fonctionne mais ce n'est pas vraiment si propre ... Y at-il une meilleure solution?

+0

question Identique à ce un (également demandé par vous-même) http://stackoverflow.com/questions/4381478/spring-portlet-mvc-keep-parameters/4382508#4382508 – Javi

+0

Pas la même question, c'était juste un formulaire HTML de base. Ceci est une forme de printemps. – jack

Répondre

1

Le problème est le même que pour l'autre question. Vous n'envoyez pas les informations dans le formulaire sauf si vous ajoutez une étiquette de formulaire pour les champs. Donc, la façon habituelle de faire est d'ajouter un champ caché pour envoyer ces informations comme ceci:

avec des étiquettes de printemps:

<form:hidden path="username" /> 

ou tout simplement avec une étiquette de forme

<input type="hidden" name="username" value=" ${user.username}" /> 
Questions connexes