Ho notato un comportamento strano con redirect
quando ho impostato il mio app.context
in un determinato modo. Ho trovato un bug nel Grails JIRA che descrive perfettamente il mio problema, ma è stato contrassegnato come UTR: http://jira.grails.org/browse/GRAILS-7546Grails reindirizza all'indirizzo sbagliato quando si utilizza app.context?
Qui è la mia descrizione del problema:
Attualmente sto usando Grails 2.0M2. Ho le seguenti proprietà definite nei miei application.properties presentare:
app.context=/
app.name=foobar
Quando chiamo redirect
in un controllore, redirect
è l'aggiunta del nome dell'applicazione sul uri fornisco, che poi provoca una 404. ecco come lo sto facendo questo:
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`
Supponiamo che ho una mappatura URL di nome helloworld
definito nel mio file UrlMappings.groovy
con un percorso di /hello/world
.
Quindi, per farla breve, se ho impostato il app.context
a /
, vorrei NON aspettarsi il app.name
di presentarsi nel mio URL di reindirizzamento finale.
Si tratta di un bug o comportamento previsto? Qualche idea sul modo più semplice in cui potrei creare l'URL di reindirizzamento senza fare troppi passaggi manuali?
Destra ... Tomcat potrebbe sovrascrivere app.context in produzione, tuttavia il problema rimane comunque il "reindirizzamento" in cui Grails utilizza l'app.name quando crea gli URL di reindirizzamento anziché utilizzare app.context. – Polaris878