Estoy notando un comportamiento extraño con redirect
cuando configuro mi app.context
de cierta manera. He encontrado un fallo en el Griales JIRA que describe perfectamente mi problema, pero fue marcado como UTR: http://jira.grails.org/browse/GRAILS-7546Grails redirige a una dirección incorrecta al usar app.context?
Aquí es mi descripción del problema:
Actualmente estoy usando Grails 2.0M2. Tengo las siguientes propiedades definidas en mis application.properties presentar:
app.context=/
app.name=foobar
cuando llamo redirect
en un controlador, redirect
es la adición del nombre de la aplicación a la URI que proporciono, que a su vez provoca un 404. Aquí es cómo estoy haciendo esto:
String partialUrl = createLink(mapping: 'helloworld') // returns `/hello/world`
redirect(uri: partialUrl) // INCORRECTLY redirects to
// `http://mysite.com/foobar/hello/world`
// instead of `http://mysite.com/hello/world`
Supongamos que tengo una correlación de URL llamado helloworld
define en mi archivo UrlMappings.groovy
con un camino de /hello/world
.
Así, el cuento largo, si fijo el app.context
a /
, me NO esperar que el app.name
a aparecer en mi URL de redireccionamiento final.
¿Esto es un error o comportamiento esperado? ¿Alguna idea sobre la forma más fácil de construir la URL de redireccionamiento sin hacer demasiados pasos manuales?
Derecha ... Tomcat puede anular app.context en producción, sin embargo, el problema sigue siendo que 'redirigir' que Grails está utilizando la aplicación.nombre al compilar URL de redireccionamiento en lugar de usar app.context. – Polaris878