2010-12-22 14 views
11

Gibt es eine Möglichkeit, Spring-Werte in einer Map zu binden?Federbindungswerte in einer Karte

Zum Beispiel habe ich eine Map<String,String> und ich möchte spezifische Werte in Spring binden. Der Benutzer wird etwas in ein Eingabeelement eingeben, und der Wert dieses Eingabeelements wird an den Wert gebunden, der einem bestimmten Schlüssel in der Karte zugeordnet ist.

Antwort

21

Ja, Sie können es mit [...] Syntax tun. Die Map selbst sollte jedoch eine Eigenschaft des Befehlsobjekts sein:

public class Form { 
    private Map<String, String> values = ...; 
    ... 
} 

Sie dann ein Formular mit dem Eingabefeld values['foo'], dh mit Springform-Tags genannt eintragen ein path wäre:

<form:input path = "values['foo']" /> 

oder name in einfachem HTML:

<input name = "values['foo']" type = "text" /> 
+1

Ist das der PHP Weg, es zu tun? Ich arbeite mit Java und Velocity, damit Syntax nicht funktioniert. – stevebot

+0

@stevebot: Aktualisiert. – axtavt

+0

Sind Werte ['foo'] in Ihrer Syntax gleich wie values.get ('foo')? – stevebot