2016-06-28 10 views
0

Ich habe eine Spring-MVC-Form, wo eine Komma getrennte Liste von Strings (von einem Multi-Select) an eine List<String> in meinem Formularobjekt gebunden ist.Can Spring MVC unterstützt einen benutzerdefinierten Editor beim Binden von durch Kommas getrennten Strings an eine Liste <String>?

Ich möchte einen benutzerdefinierten Editor registrieren, um einige zusätzliche Sanitisation für jede Zeichenfolge in der Liste durchzuführen.

Ich habe versucht, den Editor für den Feldnamen überschrieben mit meinem eigenen CustomCollectionEditor aber dies scheint jedes der Elemente in dem Komma getrennte Zeichenfolge zu brechen in der List<String> an einen separaten Index gebunden zu sein. Ich sehe nur die vollständige durch Komma getrennte Liste beim Überschreiben convertElement.

Ist es möglich, einen benutzerdefinierten Editor zu registrieren, der jedes String-Element der Liste einzeln verarbeiten kann?

Antwort

0

Die Umwandlung des durch Komma getrennten Strings in List<String> erfolgt über org.springframework.core.convert.support.StringToCollectionConverter.

  1. Erstellt eine Anmerkung, die Felder mit Anmerkungen versehen hygienisiert werden:

    Zu meiner benutzerdefinierten sanitisation ich implementiert die folgenden zu unterstützen.

  2. Implementiert ein benutzerdefiniertes org.springframework.core.convert.converter.ConditionalGenericConverter für die Konvertierung und Desinfektion annotiert String und List<String> Felder. Dies war ein Konverter, bei dem sourceTypeString war und der targetType entweder String oder List<String> war.
  3. Registrierte meinen benutzerdefinierten Konverter in der Spring MVC-Konfiguration.
Verwandte Themen