Como exibir um atributo no .GSP
30/10/2011 22:27
0
Olá a todos!

Estou com o seguinte problema:

tenho duas classes de domínio: Filme.groovy e Categoria.groovy

class Filme {
Categoria categoria
//...
}


class Categoria {

String nome
double valor
}


No meu create.gsp do Filme preciso que apareça o atributo 'NOME' da Categoria.

O g:select que o grails já gera não serve pq ele apresenta o nome do objeto e o id dele.

tentei da seguinte forma:

 <g:select name="categoria.nome" from="${locadora.Categoria.list()*.nome}" value="${filmeInstance?.categoria?.id}"  />


mas da a seguinte exceção:
org.hibernate.PropertyValueException: not-null property references a null or transient value: locadora.Filme.categoria



Sei que não deve ser complicado isto mas ja perdi um bom tempo tentando, então se alguem puder ajudar seria de grande utilidade.

Tags: gsp, g:select, grails


0
Olá Victor.

Faça o select na GSP da seguinte forma:

<g:select name="categoria.id" from="${locadora.Categoria.list()}" optionKey="id" value="${filmeInstance?.categoria?.id}" />

e na classe de domínio Categoria coloque o código abaixo para retornar o nome:

String toString(){
nome
}
30/10/2011 23:06


0
Olá Victor.

Faça o select na GSP da seguinte forma:

<g:select name="categoria.id" from="${locadora.Categoria.list()}" optionKey="id" value="${filmeInstance?.categoria?.id}" />

e na classe de domínio Categoria coloque o código abaixo para retornar o nome:

String toString(){
nome
}


Esta dando um erro no optionKey da tag select. Diz o seguinte:
cannot resolve symbol id

optionKey="[color=red]id[/color]"


Mas mesmo com isto funcionou com sua dica. Obrigado.
30/10/2011 23:15



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