Frage

Wie konfiguriere ich die Klasse drei Dropdown-Listen zu binden (Datum, Monat, Jahr) zu einer einzigen Datum Eigenschaft so, dass es die Art und Weise funktioniert es für ‚einzelne Anforderung Parameter pro Objekt‘ Szenario funktioniert? Ich denke, eine durch zwingende initBinder Methode einige benutzerdefinierte PropertyEditors hinzufügen sollten. Was sonst noch?

War es hilfreich?

Lösung

Aleksey Kudryavtsev: können Sie die onBind Methode in der Controller außer Kraft setzen, i, die Sie Geige etwas Besonderes in Befehlsobjekt kann nicht, wie

dateField = new SimpleFormat("YYYY-mm-dd").parse(this.year + "-" + this.month + "-" this.day);

oder:

Calendar c = Calendar.getInstance();
c.set(year, month, day);
dateField = calendar.getTime();

, aber ich würde eher tun Validierung in Javascript und verwenden eine verfügbare Datumsauswahl-Komponente, es gibt viele von ihnen ...

Andere Tipps

Sie können einen versteckten Eingang in Ihrem Formular erstellen und füllen es mit Hilfe von JavaScript, wenn Benutzerdaten auswählt, binden dann an diesen Eingang in Ihrem Befehlsobjekt.

Wahrscheinlich werden Sie Javascript sowieso für Dinge verwenden, wie Richtigkeit des Datums überprüft, also warum nicht formatieren die bereit Datum in einem Parameter verwenden.

Dann brauchen Sie einen Eigenschaftseditor zu registrieren, die von Zeichenfolge „2008-05-20“ zu Date-Objekt konvertieren würde.

dann hätte ich drei Felder in meinem Befehl Objekt - Jahr, Monat, Tag und Standard-Feder Validierung für Datum Prüfung verwenden würde

Ich habe nicht versucht, aber man könnte versuchen, MutableDateTime in der Joda Bibliothek . Es verfügt über separate Getter und Setter für alle drei Felder.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top