2010-12-08 9 views
0

In meinem Rendermapping habe ich ein Benutzerobjekt in mein Modell (model.addAttribute) gelegt. Im gekuppelten JSP I tun:Frühling Portlet mvc: Modellattribut ist null trotz 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> 

jedoch in der x-Methode Mathing wenn I Abrufen des Objekts Benutzer einen @ModelAttribute tag das Benutzerobjekt unter Verwendung wird eine neue Instanz statt der in der Form verwendet, um einen (der Benutzername leer usw.).

Weiß jemand, warum das passiert und die Lösung?

bearbeiten: Ich kann <input type:hidden path="username"/> verwenden und es funktioniert, aber das ist nicht wirklich so sauber ... Gibt es eine bessere Lösung?

+0

gleiche Frage wie diese man (auch selbst gefragt) http://stackoverflow.com/questions/4381478/spring-portlet-mvc-keep-parameters/4382508#4382508 – Javi

+0

Nicht die gleiche Frage, das war nur ein einfaches HTML-Formular. Dies ist eine Frühlingsform. – jack

Antwort

1

Das Problem ist das gleiche wie die andere Frage. Sie senden die Informationen im Formular nicht, es sei denn, Sie fügen ein Formular-Tag für die Felder hinzu. So ist der üblicher Weg zu gehen, ist ein verstecktes Feld hinzuzufügen, diese Informationen so zu senden:

mit Feder tags:

<form:hidden path="username" /> 

oder einfach nur mit einem Formular-Tag

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