2012-06-21 34 views

Respuesta

18

Usted puede hacer una redirección a '/' como esto:

redirect(uri:'/') 
+0

Esto solo funcionará si hay un UrlMapping para '/' a la vista de índice. – doelleri

+0

Redirigirá al contexto raíz del sitio, sin embargo, se define que depende de la aplicación. La asignación '/' viene estándar en URLMappings. – proflux

+0

Esto incluso funciona cuando la aplicación está en un subdirectorio como 'example.org/yourapp /'. – str

6

¿Por qué necesita un redirect en lugar de un render? redirect(uri:'/index.gsp') podría hacer el truco, pero creo que me acaba de render(view:'/index')

+0

Sea cuidadoso con el índice de representación directamente. Está bien con el contenido estático simple, una vez que agrega un controlador para obtener datos para mostrar en la página principal, estará cambiando cada una de esas declaraciones de procesamiento a redirecciones. ¿Eso 'redirigir (uri: '/ index.gsp')' dará un 404? – proflux

+0

Como dijo que no formaba parte de ningún controlador, creo que es seguro hacerlo, pero si dependiera de un modelo de una acción de controlador, la vista casi con certeza terminaría arrojando una excepción debido al acceso al modelo que faltaba. – doelleri

+1

Estoy mirando un poco por la carretera. La mayoría de las aplicaciones no triviales que he desarrollado comienzan con un index.gsp estático y terminan con algo como '[controller: 'home', action: 'index']'. Después de volver atrás y corregir un montón de 'render (view: '/ index')' rociado a través de sus aplicaciones y se siente obligado a ayudar a otros a evitar ese error. Si se trata de una aplicación desechable, no tiene importancia. – proflux

0

Si van a redirigirse a partir IndexController, entonces debería render (Ver:'/index ')

Cuestiones relacionadas