2009-06-28 8 views
10

Was ist der Grund für die Verwendung von g: textField in Grails, wenn Sie bereits mit Standard-HTML-Form-Tags vertraut sind?Warum verwenden Sie <g: textField /> in Grails?

Wenn ich das richtig verstanden, die beiden folgenden Markup Alternativen sind äquivalent:

<input type="text" name="name" value="${params.name}" id="name" /> 
<g:textField name="name" value="${params.name}" /> 

Gibt es Umstände, unter denen g mit: Textfield würde Wert hinzufügen? Fehle ich etwas?

+0

Ich weiß, das ist alt, aber AFAIR, der 'Wert' in der TextField g-Tag würde entkommen, aber ich bin mir nicht sicher Wert im Standard-Eingabefeld wäre in einem GSP. Vielleicht bin ich falsch? – mgkimsal

Antwort

13

Das textField-Tag wird als Annehmlichkeit bereitgestellt (etwas kürzer als das Schreiben der HTML-Eingabe) und dient dazu, einen vollständigen Satz von Formular-Tags bereitzustellen. Persönlich bevorzuge ich es, so viel reines HTML wie möglich in meinen Grails-Ansichten zu schreiben und tendiere nur dazu, die Tags zu verwenden, die wirklich einen Vorteil bieten, wie das Formular-Tag. Ich habe keine Instanz gefunden, bei der die Verwendung von textField einen Wert hinzugefügt hätte, der weniger Zeichen benötigt.

+0

Welchen Vorteil bietet das Form-Tag? –

+0

@jamesmcmahon Es ist einfacher, eine Verbindung zu bestimmten Controlleraktionen herzustellen, an die Sie die übermittelten Daten senden möchten. – Ms01

1

<g:textField /> ist nicht kürzer als Nur-Text-Feld-Tag, außer ID-Attribut wird automatisch angehängt.

Ich empfehle jedoch, benutzerdefinierte Tags zu verwenden, die die Bean-Werte den Eingabefeldern zuordnen. Das verkürzt den Code sehr. Für weitere Informationen können Sie lesen Auch können Sie nützliche Sachen in Form Helper Plugin finden