2010-01-16 11 views
9

Este me ha estado volviendo loco hoy. Desde la actualización a Grails 1.2 y Weblogic 10.3, la asignación de raíz predeterminada para "/" dejó de funcionar. Aquí es lo que tengo ...El mapeo predeterminado del controlador Grails '/' no se resuelve correctamente

que tienen este mapeo URL:

"/"(controller:"IGive", action:"index") 

Tengo un controlador llamado IGiveController con un cierre índice

def index = { 
    render "foo" 
} 

Cuando voy a mi aplicación que se ejecuta en el Tomcat y Jetty integrados con http://localhost:8080/mycontext/ Obtengo la propiedad devuelta "foo". Pero cuando construyo una guerra y desplegar a WebLogic 10.3 consigo un 404.

cambié a Grails 1.1.2 y que todavía no ha funcionado en WebLogic 10.3 pero el error era más descriptivo

Could not open ServletContext resource [/WEB-INF/grails-app/views/index.gsp] 

Parece que está ignorando por completo mi asignación de URL para "/", pero otras asignaciones de URL que son más profundas están funcionando. ¿¿Alguna pista??

Respuesta

8

Creo que esto está más relacionado con Weblogic, estoy viendo lo mismo en Weblogic 9.2, pero no en Tomcat o Jetty. No golpear a mi UrlMapping:

"/"(controller: 'home', action: 'index') 

Creo Weblogic es ser inteligente y conversión/-> index.gsp que luego regresa como 404.

Hay una solución poco fea - sólo tiene que añadir una mapeo como este:

"/index.gsp"(controller: 'home', action: 'index') 

y eso parece hacer el truco. ¿Alguien tiene una mejor manera de arreglar esto?

+0

gracias amigo, wow que acaba de hacer mi día! He registrado un error en Jira el día de hoy – mbrevoort

+0

Esta solución también funcionó en un despliegue wildfly8 .war que de lo contrario mostraría index.gsp no encontrado al acceder a la raíz: '" /index.gsp"(vista: "/ index") ' –

1

Podría estar relacionado con un error de Grails 1.2. Ver GRAILS-5609 y este thread en el foro de Grails. Se arregla en 1.2.1. Parece que 1.2 introdujo algunos errores de regresión con UrlMappings ...

Cuestiones relacionadas