Templates com atributo "name" dinamico
12/09/2016 00:07
0
Como eu faço para manter um template (gsp) quando trabalho com atributo "name" diferentes nas tags de um formulário? Vou tentar explicar abaixo:

Tendo as entidades:
Pessoa(id,nome,endereco,...)
Endereco(id,rua,numero,...)

Supondo que eu possua um formulário para Endereco e outro formulário para Pessoa, ambos compartilham o mesmos campos de Endereco. Porém o atributo "name" das tags vão variar.

Por exemplo:
<input type="text" name="rua"> <!-- Para a entidade Endereco -->
<input type="text" name="endereco.rua"> <!-- Para a entidade Pessoa -->

Vou descrever qual solução de template eu adotei abaixo, porém gostaria de saber se existe uma outra maneira de fazer:

createPessoa.gsp:
<g:render template='/templates/formEndereco' model="['nomeCampo':'endereco.']"/>

createEndereco.gsp:
<g:render template='/templates/formEndereco' model="['nomeCampo':'']"/>

_formEndereco.gsp:
<input type="text" name="${nomeCampo}rua" value="${endereco.rua}">
Tags: Grails template gsp


0
Neste caso uma alternativa interessante é pensar em bibliotecas de tags, mais que como templates diretamente.

Na biblioteca de tags você definiria a lógica que rege quais atributos names devem ser gerados e no GSP, simplesmente os usa como se fossem parâmetros passados pelo model.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto