Bleiben Sie stecken und haben Sie keine Ahnung, warum Spring Form nicht in der Lage ist, erfolgreich [Getting Bind] zu übermitteln, wenn Request
call loadForm
vorbelegt ist, funktioniert aber gut, wenn sie in einer Methode setupFormObject
mit% co_de gefüllt wird % Anmerkungs-Tag Ich kann ein einfaches Beispiel in Github zur Verfügung stellen, um zu testen, wenn gefragt :) :)
Beispiel unten
%Vor%Stack Trace wie angefordert. Diese Ausnahme stammt von github Beispiel.
%Vor%Ihre Hilfe wird sehr geschätzt
Danke
Das Problem ist eigentlich, dass UserEntity keinen Standardkonstruktor hat. Wenn Sie den Konstruktor hinzufügen, wird es sauber arbeiten:
%Vor% Ich denke, dass die Art und Weise, wie Ihr Formular in der JSP deklariert wird, beim Einreichen davon ausgeht, dass es eine UserEntity
Instanz an Position 0 in der users
Liste der UserForm
Instanz gibt, aber es stolpert tatsächlich über eine Nullreferenz.
Ja, Sie fügen dem Modell beim Anzeigen des Formulars einige UserEntity-Instanzen hinzu (mit der loadForm-Methode, die HTTP Get zugeordnet ist), aber beim Übergeben des Formulars wird ein neues Modellobjekt erstellt, und dieses wird erstellt Nur Nullen in der Benutzerliste.
Versuchen Sie, die Modellsitzung auf einen Bereich zu beschränken. Auf diese Weise wird die beim Erstellen des Formulars erstellte Modellinstanz beim Übergeben des Formulars wiederverwendet. Oder erstellen Sie eine eigene Implementierung von List, die eine neue Instanz von UserEntity zurückgibt, wenn eine get (int position) ausgeführt wird und dort nichts ist.
Tags und Links spring spring-mvc