2017-10-18 2 views
2

Wie der Titel bereits sagt, welche Zieltypen kann ich in der @ModelAttribute-Annotation von Spring MVC verwenden, wenn ich sie auf ein Methodenargument anwende?Welche Zieltypen sind für die Annotation @ModelAttribute von Spring akzeptabel?

Ich weiß um die folgende Syntax (die ich mich häufig verwendet haben):

public void finishForm(@ModelAttribute UserInfo info) { 
     ....... 
     return model; 
} 

Dieser Teil eines Formulars Träger Controller sein würde, wo Frühling Databinding alle Parsing tut und füllt anschließend mein benutzerdefiniertes Objekt (UserInfo).

Aber in meinem aktuellen Fall wäre es bequemer, ein Java Properties Objekt oder ein Map<String, String> mit dem Formulareingang zu füllen.

Wäre dies ein gültiger Anwendungsfall und können Sie eine Referenz für alle Zieltypen für @ModelAttribute bereitstellen?

Antwort

1

Wenn Sie möchten, dass alle Eingaben Ihrer Form in einer Karte bekommen Sie die folgenden verwenden:

public void finishForm(HttpServletRequest request) { 

     Map<String, String[]> userInfo = request.getParameterMap(); 

     userInfo.keySet().forEach(s -> { 
      System.out.println(s + " = "+Arrays.toString(userInfo.get(s))); 
     });   
    } 
Verwandte Themen