I've look around and see a few plugins that do this, but I'm surprised it's not built into the language, outside of the scaffolding.
In Django, for example, you can say
<form action="/contact/" method="POST">
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
and get a reasonable form for a model, based on the model definitions and additional names and hints you can supply.
Is there any equivalent way of doing this in Grails?