Hat Grals eine nette Art der Kopierdomäneneigenschaften aus einer URL -Abfragezeichenfolge?

StackOverflow https://stackoverflow.com/questions/2103149

Frage

Ich weiß, dass Grails einen kartenbasierten Konstruktor für Domänenobjekte hat, an den Sie die Parameter einer URL an die entsprechenden Feldeinstellungen übergeben können, wobei Sie mithilfe von Introspection wie diesen ...

myDomainInstance = new MyObject(params)

Ich habe mich gefragt, ob es eine äquivalente Methode gab, um die Parameter zu nehmen und auf ein vorhandenes Objekt anzuwenden und Werte auf die gleiche Weise zu aktualisieren, wie der Kartenkonstruktor funktionieren muss, so etwas wie ...

myDomainInstance = params

oder

myDomainInstance = fromParams(params)

Bin ich nur Wunschdenken oder existiert so etwas? Ich kann es selbst codieren, möchte aber lieber nicht, wenn es bereits existiert.

Vielen Dank

War es hilfreich?

Lösung

Angepasst von der Grails Benutzerhandbuch:

obj = MyObject.get(1)
obj.properties = params

Weitere Informationen finden Sie in der Dokumentation für 'Params' im Bereich Controller.

Andere Tipps

Es hängt wirklich davon ab, was Sie versuchen zu tun, aber ein gleichwertiger Ansatz verwendet Datenbank.

def sc = new SaveCommand()
bindData(sc, params)

Dies gibt Ihnen den Vorteil der Verwendung einer benutzerdefinierten Bindung. Wenn Sie sagen, Ihr Datumsformat ist nicht die Standardeinstellung, die Sie durch eine Bohne wie diese neu definieren können:

public class CustomPropertyEditorRegistrar implements PropertyEditorRegistrar {
  public void registerCustomEditors(PropertyEditorRegistry registry) {
      registry.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("dd/MM/yyyy"), true));
  }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top