Duvida
Postado em 06/12/2011 19:11
0
0
Bom tarde.

Ainda não conseguir implementar o codigo para pesquisa de um determinado campo.

Gostaria de sua ajuda.

No projeto tenho:

package projeto

class Projeto {

String nome
String descricao
Date dataCadastro = new Date()
Date dataPrevista
String observacoes

static hasMany = [tarefa:Tarefa]

String toString() {
return this.nome
}

static constraints = {
nome (nullable:false, blank:false, maxSize:64, unique:true)
descricao (nullable:false, blank:false, maxSize:255)
dataCadastro (nullable:false)
dataPrevista (nullable:false)
observacoes (nullable:true, blank:true, maxSize:255)
}
}

A classe Tarefa

package projeto

class Tarefa {

String nome
Boolean pronta = false
Date dataCadastro = new Date()
Projeto projeto

static belongsTo = Projeto

String toString() {
return "${this.nome} - ${this.pronta}"
}

static constraints = {
nome (nullable:false, blank:false, maxSize:64)
pronta (nullable:false)
dataCadastro (nullable:false)
}
}


no arquivo views/projeto/list.gsp

incluir o seguinte codigo:

<g:textField name="valor" value= />
<g:select name="tipo" from="${['Nome', 'Descricao']}" valueMessagePrefix= />
<g:actionSubmit class="pesquisar" action="pesquisar" value="Pesquisar" />

A questão é que eu não estou sabendo colocar o codigo sugerido por voce no arquivo controllers/projeto/ProjetoController.groovy

def buscaQuente = {
def resultado = SuaEntidade.withCriteria {
eq(params.tipoBusca, params.valorBusca)
}
[resultado:resultado]
}


"supor que você possua um controller e, neste controller, haja dois parametros: valorBusca e tipoBusca.
tipoBusca poderia ser, por exemplo: um combo cujos valores identifiquem os nomes dos campos e, valorBusca, o nome já diz: é o valor a ser buscado".


- a minha duvida é:

como enviar os parametros da view (views/projeto/list.gsp) para o controlador e como retornar o resultado da pesquisa realizada para o mesma view (views/projeto/list.gsp) atraves da list.

Tags: pesquisa, criteria
Ubiratan da Silva Tavares
Pontos: 2






0
0
06/12/2011 19:28
Você pode usar o "render":
http://grails.org/doc/latest/ref/Controllers/render.html

renderiza o list.gsp passando como parametro o retorno da busca com os paramentos que vc enviou para a action do seu controller.


def buscaQuente = {
def resultado = SuaEntidade.withCriteria {
eq(params.tipoBusca, params.valorBusca)
}
render(view:'list' model:[projetoInstanceList:resultado])
}

castiel
Pontos: 233



0
0
07/12/2011 15:03
Valeu Castiel pela dica.

Apliquei na aplicação mencionada acima e funcionou!!!

Obrigado!

Ubiratan da Silva Tavares
Pontos: 2



 


Esqueceu sua senha?
 
Grails Brasil é mantido por itexto Desenvolvimento de Projetos Ltda.
Em caso de problemas, sinta-se livre para procurar Henrique Lobo Weissmann (Kico) por e-mail: kicolobo@itexto.net
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão (clique no logo à direita para maiores detalhes)