No list de cada controler exibimos uma table com os principais dados e para cada registro um link para alterar, exibir e excluir, logo já na table consigo executar várias actions:
<table id="tab" class="tabelas" border="0" cellpadding="5" cellspacing="1">
<thead>
<tr>
<g:remoteSortableColumn update="updateMe" onclick="carregando('updateMe');" params="[parametros:parametros]" property="a.nome" title="Nome" />
<g:remoteSortableColumn update="updateMe" onclick="carregando('updateMe');" params="[parametros:parametros]" property="a.controle" title="Controle" />
<g:remoteSortableColumn update="updateMe" onclick="carregando('updateMe');" params="[parametros:parametros]" property="a.ativo" title="Ativo" />
<g:remoteSortableColumn update="updateMe" onclick="carregando('updateMe');" params="[parametros:parametros]" property="m.nome" title="Menu" />
<th>Exibir</th>
<th>Editar</th>
<th>Excluir</th>
</tr>
</thead>
<tbody>
<g:each in="${aplicacoes}" status="i" var="aplicacao">
<tr>
<td class="divisoes" align="right">${fieldValue(bean:aplicacao, field:'nome')}</td>
<td class="divisoes" align="right">${fieldValue(bean:aplicacao, field:'controle')}</td>
<td class="divisoes" align="right">${fieldValue(bean:aplicacao, field:'ativo')}</td>
<td class="divisoes" align="right">${fieldValue(bean:aplicacao?.menu, field:'nome')}</td>
<td class="divisoes" align="center"><g:link action="show" id="${aplicacao.id}"><img src="../images/skin/show.gif" border="0" alt="Exibir" title="Exibir"></g:link></td>
<td class="divisoes" align="center"><g:link action="edit" id="${aplicacao.id}"><img src="../images/skin/database_edit.png" border="0" alt="Editar" title="Editar"></g:link></td>
<td class="divisoes" align="center"><g:remoteLink onSuccess="buscar('buscar');" action="delete" id="${aplicacao.id}" before="if (!confirm('Deseja realmente apagar?')){return false;}"><img src="../images/skin/database_delete.png" border="0" alt="Excluir" title="Excluir"></g:remoteLink></td>
</tr>
</g:each>
</tbody>
</table>
Meu create:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="layout" content="main" />
<g:javascript src="app/aplicacao.js" />
</head>
<body>
<div class="body" style="width:550px">
<h1>Nova Aplicação</h1>
<g:if test="${flash.message}">
<div class="message">${flash.message}</div>
</g:if>
<g:hasErrors bean="${aplicacaoInstance}">
<div class="errors">
<g:renderErrors bean="${aplicacaoInstance}" as="list" />
</div>
</g:hasErrors>
<g:form method="post" >
<div class="dialog">
<table>
<tbody>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'ativo','errors')}">
Ativo: * </br>
<g:checkBox name="ativo" value="${aplicacaoInstance?.ativo}" ></g:checkBox>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'menu','errors')}">
Menu: * </br>
<g:select style="width:56%" optionKey="id" from="${Menu.list()}" name="menu.id" value="${aplicacaoInstance?.menu?.id}" ></g:select>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'nome','errors')}">
Nome: * </br>
<input style="width:56%" type="text" maxlength="40" id="nome" name="nome" value="${fieldValue(bean:aplicacaoInstance,field:'nome')}"/>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'controle','errors')}">
Controle: * </br>
<input style="width:56%" type="text" maxlength="40" id="controle" name="controle" value="${fieldValue(bean:aplicacaoInstance,field:'controle')}"/>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'inicio','errors')}">
Início: * </br>
<g:datePicker name="inicio" value="${aplicacaoInstance?.inicio}" ></g:datePicker>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'fim','errors')}">
Fim: * </br>
<g:datePicker name="fim" value="${aplicacaoInstance?.fim}" ></g:datePicker>
</td>
</tr>
<tr class="prop">
<td>* Campos Obrigatórios </td>
</tr>
</tbody>
</table>
</div>
<div class="buttons">
<span class="button"><g:actionSubmit class="save" controller="aplicacao" action="save" value="Salvar" /></span>
<span class="button"><g:actionSubmit class="return" controller="aplicacao" action="list" value="Voltar" /></span>
</div>
</g:form>
</div>
</body>
</html>
Edit:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="layout" content="main" />
<g:javascript src="app/aplicacao.js" />
</head>
<body>
<div class="body" style="width:550px">
<h1>Alterar Aplicação</h1>
<g:if test="${flash.message}">
<div class="message">${flash.message}</div>
</g:if>
<g:hasErrors bean="${aplicacaoInstance}">
<div class="errors">
<g:renderErrors bean="${aplicacaoInstance}" as="list" />
</div>
</g:hasErrors>
<g:form method="post" >
<input type="hidden" name="id" value="${aplicacaoInstance?.id}" />
<div class="dialog">
<table>
<tbody>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'ativo','errors')}">
Ativo: * </br>
<g:checkBox name="ativo" value="${aplicacaoInstance?.ativo}" ></g:checkBox>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'menu','errors')}">
Menu: * </br>
<g:select style="width:56%" optionKey="id" from="${Menu.list()}" name="menu.id" value="${aplicacaoInstance?.menu?.id}" ></g:select>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'nome','errors')}">
Nome: * </br>
<input style="width:56%" type="text" maxlength="40" id="nome" name="nome" value="${fieldValue(bean:aplicacaoInstance,field:'nome')}"/>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'controle','errors')}">
Controle: * </br>
<input style="width:56%" type="text" maxlength="40" id="controle" name="controle" value="${fieldValue(bean:aplicacaoInstance,field:'controle')}"/>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'inicio','errors')}">
Início: * </br>
<g:datePicker name="inicio" value="${aplicacaoInstance?.inicio}" ></g:datePicker>
</td>
</tr>
<tr class="prop">
<td valign="top" class="value ${hasErrors(bean:aplicacaoInstance,field:'fim','errors')}">
Fim: * </br>
<g:datePicker name="fim" value="${aplicacaoInstance?.fim}" ></g:datePicker>
</td>
</tr>
<tr class="prop">
<td>* Campos Obrigatórios </td>
</tr>
</tbody>
</table>
</div>
<div class="buttons">
<span class="button"><g:actionSubmit class="save" controller="aplicacao" action="update" value="Salvar" onClick="seleciona('listAplic2');"/></span>
<span class="button"><g:actionSubmit class="create" controller="aplicacao" action="create" value="Novo"/></span>
<span class="button"><g:actionSubmit class="show" controller="aplicacao" action="show" value="Exibir"/></span>
<span class="button"><g:actionSubmit class="delete" controller="aplicacao" action="delete" onclick="return confirm('Deseja excluir o registro?');" value="Excluir" /></span>
<span class="button"><g:actionSubmit class="return" controller="aplicacao" action="list" value="Voltar" /></span>
</div>
</g:form>
</div>
</body>
</html>
Show:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="layout" content="main" />
</head>
<body>
<div class="body" style="width:550px">
<h1>Exibir Aplicação</h1>
<g:if test="${flash.message}">
<div class="message">${flash.message}</div>
</g:if>
<div class="dialog">
<table>
<tbody>
<tr class="prop">
<td valign="top" class="name">Ativo:</td>
<td valign="top" class="value">${fieldValue(bean:aplicacaoInstance, field:'ativo')}</td>
</tr>
<tr class="prop">
<td valign="top" class="name">Menu:</td>
<td valign="top" class="value">${aplicacaoInstance?.menu?.encodeAsHTML()}</td>
</tr>
<tr class="prop">
<td valign="top" class="name">Nome:</td>
<td valign="top" class="value">${fieldValue(bean:aplicacaoInstance, field:'nome')}</td>
</tr>
<tr class="prop">
<td valign="top" class="name">Controle:</td>
<td valign="top" class="value">${fieldValue(bean:aplicacaoInstance, field:'controle')}</td>
</tr>
<tr class="prop">
<td valign="top" class="name">Data Criação:</td>
<td valign="top" class="value"><g:formatDate format="EEEE, d MMMMM yyyy HH:mm">${fieldValue(bean:aplicacaoInstance, field:'dateCreated')}</g:formatDate></td>
</tr>
<tr class="prop">
<td valign="top" class="name">Usuário Criação:</td>
<td valign="top" class="value">${aplicacaoInstance?.usuarioCreated?.encodeAsHTML()}</td>
</tr>
<tr class="prop">
<td valign="top" class="name">Última Alteração:</td>
<td valign="top" class="value"><g:formatDate format="EEEE, d MMMMM yyyy HH:mm">${fieldValue(bean:aplicacaoInstance, field:'lastUpdated')}</g:formatDate></td>
</tr>
<tr class="prop">
<td valign="top" class="name">Usuário Alteração:</td>
<td valign="top" class="value">${aplicacaoInstance?.usuarioUpdated?.encodeAsHTML()}</td>
</tr>
</tbody>
</table>
</div>
<div class="buttons">
<g:form>
<input type="hidden" name="id" value="${aplicacaoInstance?.id}" />
<span class="button"><g:actionSubmit class="edit" controller="aplicacao" action="edit" value="Alterar" /></span>
<span class="button"><g:actionSubmit class="create" controller="aplicacao" action="create" value="Novo"/></span>
<span class="button"><g:actionSubmit class="delete" controller="aplicacao" action="delete" onclick="return confirm('Deseja excluir o registro?');" value="Excluir" /></span>
<span class="button"><g:actionSubmit class="return" controller="aplicacao" action="list" value="Voltar" /></span>
</g:form>
</div>
</div>
</body>
</html>