Pergunta

Este tem me deixando louco hoje. Desde que a atualização para o Grails 1.2 e WebLogic 10.3 O mapeamento de raiz padrão para "/" parou de funcionar. Aqui está o que eu tenho ...

Eu tenho este mapeamento de URL:

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

Eu tenho um controlador chamado IgiveController com um fechamento de índice

def index = {
    render "foo"
}

Quando vou ao meu aplicativo em execução no tomcat incorporado e no cais com http: // localhost: 8080/myContext/ Eu recebo a propriedade "foo" devolvida. Mas quando construo uma guerra e implanto para o WebLogic 10.3, recebo um 404.

Eu rebaixei para o Grails 1.1.2 e ainda não funcionou no WebLogic 10.3, mas o erro foi mais descritivo

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

Parece que está ignorando completamente meu mapeamento de URL para "/", mas outros mapeamentos de URL que são mais profundos estão funcionando. Alguma pista ??

Foi útil?

Solução

Eu acho que isso está mais relacionado ao WebLogic - estou vendo o mesmo no WebLogic 9.2 - mas não no tomcat ou no cais. Não atinge meu URLMapping:

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

Eu acho que o WebLogic está sendo inteligente e converte / -> index.gsp, que depois volta como um 404.

Há uma solução alternativa um pouco feia - basta adicionar um mapeamento assim:

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

E isso parece fazer o truque. Alguém tem uma maneira melhor de consertar isso ???

Outras dicas

Pode estar relacionado a um bug de Grails 1.2. Ver Grails-5609 e isto fio no fórum de Grails. É corrigido em 1.2.1. Parece que o 1.2 introduziu alguns bugs de regressão com Urlmappings ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top