Spring MVC ModelAttribute-Felder sind Null anstelle von Formulareingabewerten

8

Ich versuche ein Formular zu erstellen, das eine CardRequestResource posten wird:

%Vor%

In meinem Controller lade ich zuerst die JSP und füge eine leere CardRequestResource zur ModelMap hinzu:

%Vor%

Meine JSP erstellt das Formular mit dem cardRequestResource-Modellattribut:

%Vor%

Eine JavaScript-Funktion veranlasst einen AJAX-Aufruf, die Formularwerte aufzufüllen:

%Vor%

An dieser Stelle kann ein Benutzer den Kommentartextbereich aktualisieren, und die versteckte Eingabe kann sich bedingt ändern, was der Benutzer in das Feld eingibt. Dann, wenn das Formular abgeschickt wird, rufe ich die folgende Javascript-Funktion auf:

%Vor%

Die Warnung zeigt, dass die Felder korrekt mit den Daten gefüllt sind, die entweder ursprünglich von AJAX / Javascript oder vom Benutzer geladen wurden. Wenn ich jedoch zum Handler in meinem Controller komme, der den Post verarbeitet, ist die CardRequestResource nicht null, aber JEDES EINZELNE Feld darin ist NULL!

Handler-Code:

%Vor%     
AEvans 01.08.2013, 21:06
quelle

2 Antworten

8

Also ich denke, ich habe den Täter gefunden!

Dieser kleine Kerl hier im Post AJAX Call:

%Vor%

Ich habe JSON ursprünglich an meinen Controller gesendet, und dann habe ich erfahren, dass Spring MVC diese nette ModelAttribute-Annotation hatte, sodass ich mir während meines POST keine Gedanken über die Konvertierung von / nach JSON machen müsste. Leider habe ich nicht daran gedacht, diese contentType-Zeile zu entfernen, und man würde meinen, dass es noch einen Fehler oder etwas damit drin geben würde ... anscheinend nicht. Nur NULL-Werte in der Bindung und Stunden des fruchtlosen Debuggens ...

Nachdem ich diese Zeile entfernt habe, habe ich begonnen, Daten in den CardRequest-Attributen statt NULL zu erhalten!

    
AEvans 02.08.2013, 12:28
quelle
0

Versuchen Sie, den folgenden Code in die Datei aplication-context.xml zu schreiben. Dies könnte die Lösung sein, wenn Sie Ihr Formular encType='multipart/form-data' haben.

%Vor%     
HVT7 06.12.2013 13:46
quelle