Spring - ModelAttribute und Parameternamen

8

Wie kann ich die Model / Command-Klasse so konfigurieren, dass sie an bestimmte Anfrageparameter bindet?

Zum Beispiel habe ich folgende Methode:

%Vor%

und Befehl:

%Vor%

es funktioniert gut für Anfragen wie /success?title=test , wenn die Namen der Anfrageparameter den Eigenschaften der Befehlseigenschaften entsprechen.

Aber was, wenn ich einen anderen Namen zuordnen muss? zum Beispiel wenn Anfrage wie: /success?sk_title=test .

Wie kann ich den Anforderungsparameter sk_title auf title Feld meines Befehls abbilden?

Dieser Befehl hat einen Bund params und wird von wenigen verschiedenen Methoden verwendet (es ist eine Integration mit anderen Legacy-Systemen), also erhält man alle diese Parameter als @RequestParam für jede RequestMapped-Methode ist eine Menge Arbeit und erfordert zu viel Copy / Paste-Job, der eine Menge Fehler und nicht unterstützbaren Code bringt.

Ich habe keine Kontrolle über Namen von Eingabeparametern, es hat wirklich seltsame Namen wie "sk_yt_saf_amount", deshalb versuche ich, es an freundlichere Eigenschaftsnamen zu binden.

PS Ich benutze dort das Wort 'command' als Eingabedaten, um es von Model von ModelAndView conception zu unterscheiden.

    
Igor Artamonov 30.08.2011, 00:27
quelle

2 Antworten

0
%Vor%

Sie können dies vereinfachen, wenn Sie das name-Attribut in der Ansicht steuern können. Ändern Sie einfach die Namensattribute so, dass sie den SomeCommand-Objektfeldern entsprechen, und Spring wird automatisch mit ihnen arbeiten. Wie Request Params im Frühjahr 3.0 zu binden? Sie Der Befehl muss dem Modell noch hinzugefügt werden. In dieser Antwort wird davon ausgegangen, dass Sie Spring 3 oder höher verwenden. Ich nehme an, dass Spring möglicherweise auch Getter und Setter für Felder des SomeCommand-Objekts benötigt.

%Vor%     
Kevin Bowersox 30.08.2011 00:40
quelle
0

Wenn Sie den Map-Anfrage-Parameter sk_title zum Titelfeld hinzufügen möchten, fügen Sie Setter mit dem Namen sk_title:

hinzu %Vor%     
zoirs 17.01.2017 12:14
quelle

Tags und Links