iniciante em grails
09/01/2013 21:36
0
quando eu clico no meu link que é este:

<g:link controller="soma" action="busca" id="${sug}" target="_blank">${sug} </g:link>

obtenho a seguinte url:

http://localhost:8080/exemploGrails/soma/busca/Brasil

Onde q é um input e Brasil é o texto do meu link.Porém preciso de uma url assim:

http://localhost:8080/exemploGrails/soma/busca?q=Brasil

como posso fazer?
Tags: url


0
Assim funciona

<g:link controller="soma" action="busca" params="[q:'brasil']">$ {sug} </g:link>

mas veja que a variável "q" ficou com o valor fixo. Gostaria de inserir o texto do link no valor da variável. Alguma sugestão?

Tentei assim mas não funcionou:

<g:link controller="soma" action="busca" params="[q:${sug}]">${sug} </g:link>
09/01/2013 23:44


0
Na verdade

o codigo está dentro de um laço. A função gera lista devolve uma lista de string.

Meu código está como abaixo.

<g:each var="sug" in="${geraLista()}">
<g:link controller="soma" action="busca" params="[q:${sug}]">${sug} </g:link>
</g:each>

Mas ainda gera erros e não sei oq está acontecendo.
10/01/2013 01:06


0
Oi Fabiano, quais erros?

PS: procure dar títulos que tenham mais a ver com o conteúdo da sua dúvida para que as pessoas possam te ajudar mais fácil.


0
É realmente o nome do post não tem a ver.

Eu estou esperando que minha função:

<g:each var="sug" in="${geraMinhaLista()}">
<g:link controller="soma" action="busca" params="[q:${sug}]">${sug} </g:link>
</g:each>

retorne um valor texto da lista para cada parametro do link.

Mas o erro é este:


Grails Runtime Exception
Error Details
Error 500: Error evaluating expression [[q:${sug}]] on line [137]: groovy.lang.MissingMethodException: No signature of method: Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp.$() is applicable for argument types: (Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41) values: [Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41@723a4422] Possible solutions: is(java.lang.Object), run(), run(), any(), any(groovy.lang.Closure), use([Ljava.lang.Object;)
Servlet: grails
URI: /exemploGrails/grails/soma/busca.dispatch
Exception Message: No signature of method: Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp.$() is applicable for argument types: (Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41) values: [Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41@723a4422] Possible solutions: is(java.lang.Object), run(), run(), any(), any(groovy.lang.Closure), use([Ljava.lang.Object;)
Caused by: Error evaluating expression [[q:${sug}]] on line [137]: groovy.lang.MissingMethodException: No signature of method: Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp.$() is applicable for argument types: (Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41) values: [Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41@723a4422] Possible solutions: is(java.lang.Object), run(), run(), any(), any(groovy.lang.Closure), use([Ljava.lang.Object;)
Class: /Users/fabianoferreiraluz/aplicativosJava/exemploGrails/grails-app/views/soma/busca.gsp
At Line: [137]
Code Snippet:
136: <g:each var="sug" in="${searchLucene()}">
137: <g:link controller="soma" action="busca" params="[q:${sug}]">${sug} </g:link>
138: <!-- <g:link controller="soma" action="busca" id="${sug}" target="_blank">${sug} </g:link>-->
Stack Trace
org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error evaluating expression [[q:${sug}]] on line [137]: groovy.lang.MissingMethodException: No signature of method: Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp.$() is applicable for argument types: (Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41) values: [Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41@723a4422]
Possible solutions: is(java.lang.Object), run(), run(), any(), any(groovy.lang.Closure), use([Ljava.lang.Object;)

at Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21.doCall(Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp:67)

at Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2.doCall(Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp:61)

at Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2.doCall(Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp)

at Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp.run(Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp:80)

at java.lang.Thread.run(Thread.java:680)

Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: No signature of method: Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp.$() is applicable for argument types: (Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41) values: [Users_fabianoferreiraluz_aplicativosJava_exemploGrails_grails_app_views_soma_busca_gsp$_run_closure2_closure21_closure34_closure41@723a4422]
Possible solutions: is(java.lang.Object), run(), run(), any(), any(groovy.lang.Closure), use([Ljava.lang.Object;)

... 5 more
10/01/2013 11:52


0
Teste assim :


<g:each var="sug" in="${geraMinhaLista()}">
<g:link controller="soma" action="busca" params="[q: sug]">${sug}</g:link>
</g:each>
10/01/2013 16:50



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