Pasar valores de un gsp mediante un g:link a un controller

561 views
Skip to first unread message

Aarón Resino Jiménez

unread,
Nov 29, 2012, 8:05:34 AM11/29/12
to grailsenc...@googlegroups.com
Hola amigos, tengo un formulario con campos (textfield, select) con su respectivo botón submit y al lado tengo un g:link que me manda a otro controller. Me consulta es la siguiente:

¿Como debo de hacer para pasar los valores del formulario al otro controlador mediante el g:link? Se que es en la propiedad params del g:link, pero nose como acceder al valor de los campos para pasarselos despues a una variable mediante el params del g:link.

¿Alguien me puede ayudar?

David Santamaria

unread,
Nov 29, 2012, 8:17:32 AM11/29/12
to grailsenc...@googlegroups.com
Solo un aporte a tu consulta,
No te seria mas interesante que el Link en realidad hiciera un submit del formulario contra el segundo Controlador?
Puedes añadir varios submit a un  mismo formulario mediante
Comprueba que esto no satisface tus pretensiones, que me parece a mi que puede ser que si.
Un saludo.


--
Has recibido este mensaje porque estás suscrito al grupo "grailsEnCastellano" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/grailsencastellano/-/wGsTPBiJh5YJ.
Para publicar una entrada en este grupo, envía un correo electrónico a grailsenc...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a grailsencastell...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/grailsencastellano?hl=es.



--
David.

Aarón Resino Jiménez

unread,
Nov 29, 2012, 8:45:20 AM11/29/12
to grailsenc...@googlegroups.com
También me valdría esa opción. ¿Pero al poner actionSubmit, no sale un button?

David Santamaria

unread,
Nov 29, 2012, 10:13:57 AM11/29/12
to grailsenc...@googlegroups.com
Sip, si tu problema es el look & feel de ese boton lo haria por CSS 
.botonAsLink {
    background: none;
    border: none;
    color: blue;
    text-decoration: underline;
    cursor: pointer;
}


--
Has recibido este mensaje porque estás suscrito al grupo "grailsEnCastellano" de Grupos de Google.

Para publicar una entrada en este grupo, envía un correo electrónico a grailsenc...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a grailsencastell...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/grailsencastellano?hl=es.



--
David.

Aarón Resino Jiménez

unread,
Nov 29, 2012, 1:14:13 PM11/29/12
to grailsenc...@googlegroups.com
He hecho lo que me has dicho, y el problema que tengo es que le digo que vaya a otro controller y haga la action create y no me hace ni caso, siempre hace el save de la misma activity. ¿Porque me hace esto?


El jueves, 29 de noviembre de 2012 14:05:34 UTC+1, Aarón Resino Jiménez escribió:

Neider Tapia

unread,
Nov 29, 2012, 1:17:52 PM11/29/12
to grailsenc...@googlegroups.com
Buenas tardes.

No te compliques utiliza un boton.

Slds.

El 29 de noviembre de 2012 13:14, Aarón Resino Jiménez <aaron...@gmail.com> escribió:
el problema que tengo es que le digo que vaya a otro controller y haga la action create y no me hace ni caso, siempre hace el save de la mi



--
Consultores y Soluciones en TICs
Neider Rafael Tapia Avila
Especialista en Gerencia de Sistemas de Información
Cartagena DT. y C. - Colombia
Movil 300 802 7218

Aarón Resino Jiménez

unread,
Nov 29, 2012, 1:47:01 PM11/29/12
to grailsenc...@googlegroups.com
El problema que tengo es que tengo un formulario ya y para ir al otro controlador es otro formulario que tengo que tener dentro de este. ¿Se pueden tener formularios dentro de otros?


El jueves, 29 de noviembre de 2012 14:05:34 UTC+1, Aarón Resino Jiménez escribió:

Aarón Resino Jiménez

unread,
Nov 29, 2012, 1:47:14 PM11/29/12
to grailsenc...@googlegroups.com
El problema que tengo es que tengo un formulario ya y para ir al otro controlador es otro formulario que tengo que tener dentro de este. ¿Se pueden tener formularios dentro de otros?

El jueves, 29 de noviembre de 2012 14:05:34 UTC+1, Aarón Resino Jiménez escribió:

David Santamaria

unread,
Nov 29, 2012, 2:49:18 PM11/29/12
to grailsenc...@googlegroups.com
Algo no estas haciendo correctamente, ya que http://grails.org/doc/latest/ref/Tags/actionSubmit.html funciona.
Haz un ejemplo simple, y muestranos que te falla, pero en un eejmplo simple por favor.



--
Has recibido este mensaje porque estás suscrito al grupo "grailsEnCastellano" de Grupos de Google.

Para publicar una entrada en este grupo, envía un correo electrónico a grailsenc...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a grailsencastell...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/grailsencastellano?hl=es.



--
David.

Neider Tapia

unread,
Nov 29, 2012, 3:03:18 PM11/29/12
to grailsenc...@googlegroups.com
Te refieres a que tines dos formualrios anidados, así:

<form>
    .....
    <form>
        ....
    </form> 
</form> 

Si lo tienes de la forma descrita. Hasta donde tengo conocimiento no se puede.

Aquí te dejo la especificación  http://www.w3.org/TR/html401/interact/forms.html.




El 29 de noviembre de 2012 13:47, Aarón Resino Jiménez <aaron...@gmail.com> escribió:
o un formulario ya y para ir al otro controlador es otro formulario que tengo que tener dentro de este. ¿Se pueden tener formularios dentro de otr



Aarón Resino Jiménez

unread,
Nov 30, 2012, 2:22:56 AM11/30/12
to grailsenc...@googlegroups.com
Eso es, están anidados.


El jueves, 29 de noviembre de 2012 14:05:34 UTC+1, Aarón Resino Jiménez escribió:

Aarón Resino Jiménez

unread,
Nov 30, 2012, 2:29:30 AM11/30/12
to grailsenc...@googlegroups.com
Haber tengo un form declarado, y dentro tengo 2 botones "actionSubmit":

<g:actionSubmit value="Añadir grupo..." style="background: none;border: none;
                    color: #0000ff;text-decoration: underline;cursor: pointer;" controller="atGroup" action="create" />

<g:actionSubmit value="Guardar" action="save" controller="activity" />

Por lo que he visto es que el controller no se le puede indicar en el actionSubmit pero para ir a otra action de otro controller debo de poder indicarselo.
Para anular tu suscripción a este grupo, envía un correo electrónico a grailsencastellano+unsub...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/grailsencastellano?hl=es.



--
David.

David Santamaria

unread,
Nov 30, 2012, 3:46:58 AM11/30/12
to grailsenc...@googlegroups.com
Hola,
Tienes razon parece ser que este bug deberia ser reabierto:


Pero aun asi lo puedes hacer sin un TagLib


<input type="submit" formaction="${${createLink(controller:'tuController', action: 'tuAction')}" >  

El resultado es el mismo.
Prueba y nos cuentas.
Un saludo.



Para publicar una entrada en este grupo, envía un correo electrónico a grailsenc...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a grailsencastell...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/grailsencastellano?hl=es.



--
David.

Aarón Resino Jiménez

unread,
Nov 30, 2012, 4:14:58 AM11/30/12
to grailsenc...@googlegroups.com
Al final lo que he hecho ha sido crearme una action en el controller llamada goGroup que me redireccciona a la acción create del controlador atGroup. Ahora tengo otro problema, en el action goGroup los parametros que obtengo del gsp los veo correctamente, y ahora esos parametros quiero pasarlos a el action del controller atGroup, lo paso así:
redirect(controller: 'atGroup', action: 'create', model: [params: params])

Pero compruebo en el create del atGroup y me dice que son nulos, ¿Como podría pasar esos parametros?



El jueves, 29 de noviembre de 2012 14:05:34 UTC+1, Aarón Resino Jiménez escribió:

David Santamaria

unread,
Nov 30, 2012, 4:28:04 AM11/30/12
to grailsenc...@googlegroups.com
Porque no pruebas como te he comentado sin esa action intermedia?


El 30 de noviembre de 2012 10:14, Aarón Resino Jiménez <aaron...@gmail.com> escribió:
Al final lo que he hecho ha sido crearme una action en el controller llamada goGroup que me redireccciona a la acción create del controlador atGroup. Ahora tengo otro problema, en el action goGroup los parametros que obtengo del gsp los veo correctamente, y ahora esos parametros quiero pasarlos a el action del controller atGroup, lo paso así:



--
David.

Aarón Resino Jiménez

unread,
Nov 30, 2012, 4:49:42 AM11/30/12
to grailsenc...@googlegroups.com
Ya conseguí lo que quería. He pasado el valor mediante params:[company_select: params.select_company] en el redirect y en el gsp del otro controlador he hecho una comprobación y ya muestro en el select el valor que se ha seleccionado en el formulario anterior.
Muchas gracias por todo.


El jueves, 29 de noviembre de 2012 14:05:34 UTC+1, Aarón Resino Jiménez escribió:
Reply all
Reply to author
Forward
0 new messages