Não consigo acessar um método dentro do Domain(Criar combo dinãmico)
23/05/2012 19:55
0
Boa tarde.
Tenho um métdo que deveria executar uma sql dentro do meu domain


public List dadosCombo(Long idAtributo){
Session sess = sessionFactory.getCurrentSession()
def consulta = sess.createSQLQuery('select distinct t.inform_atribu from sis.TBVALORATRI t where id_atributo =: idAtributo')
consulta.setParameter("idAtributo",idAtributo)
return consulta.list()
}


No meu gsp tenho essa tag


<g:elseif test="${tipoAtributo.tpComponenteTela.equals('COMBO')}">
<g:select id="${tipoAtributo}" optionKey="informAtributo"
from="${TipoValorAtributo.dadosCombo(tipoAtributo.id)}"
onchange="${remoteFunction(action:'retornaCombo')}"
name="${tipoAtributo}"
value="${tipoAtributo?.id}"
noSelection="${['null':'-Selecione o tipoAtributo -']}"/>
</g:elseif>


Quando rodo minha aplicação , recebo o erro abaixo:

No signature of method: static TipoValorAtributo.dadosCombo() is applicable for argument types: (java.lang.Long) values: {98} 


Alguém tem idéia do porque ?
Aguardo e obrigado.

PS:Ainda aguardando a ajuda na paginação .....
Tags: Não consigo acessar um método dentro do Domain(Criar combo dinãmico)


0
Ola amigo o que me parece que o erro está na passagem de parametro
24/05/2012 11:52


0
Opa,

Talvz seja porque você não definiu como static o metodo...

Pelo menos em Java quando você vai acessar um método da classe desse jeito, o metodo tem que ser static
24/05/2012 13:05


0
vou da um exemplo que esta funcionando perfeitamente

public List getAllHospitais() {
def pts = getAllPath(this)
def hospitais = Hospital.findAll('from Hospital h where h.pontoEstoque in (:pts)', [pts:pts])
return hospitais
}
24/05/2012 16:44



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