Form Basics
GSP supports many different tags for aiding in dealing with HTML forms and fields, the most basic of which is the
form tag. The
form
tag is a controller/action aware version of the regular HTML form tag. The
url
attribute allows you to specify which controller and action to map to:
<g:form name="myForm" url="[controller:'book',action:'list']">...</g:form>
In this case we create a form called
myForm
that submits to the
BookController
's
list
action. Beyond that all of the usual HTML attributes apply.
Form Fields
As well as easy construction of forms GSP supports custom tags for dealing with different types of fields including:
- textField - For input fields of type 'text'
- checkBox - For input fields of type 'checkbox'
- radio - For input fields of type 'radio'
- hiddenField - For input fields of type 'hidden'
- select - For dealing with HTML select boxes
Each of these allow GSP expressions as the value:
<g:textField name="myField" value="${myValue}" />
GSP also contains extended helper versions of the above tags such as
radioGroup (for creating groups of
radio tags),
localeSelect,
currencySelect and
timeZoneSelect (for selecting locale's, currencies and time zone's respectively).
Multiple Submit Buttons
The age old problem of dealing with multiple submit buttons is also handled elegantly with Grails via the
actionSubmit tag. It is just like a regular submit, but allows you to specify an alternative action to submit to:
<g:actionSubmit value="Some update label" action="update" />